替代sprintf()将整数格式化为ascii字符

时间:2015-01-19 13:55:09

标签: c printf

在我当前的程序中,我需要将整数格式化为ASCII字符。这将适用于sprint()或snprintf()。

是否有替代sprintf()或snprintf()来格式化数据?

谢谢, 帕。

3 个答案:

答案 0 :(得分:2)

char ch = (char)(i + (int)'0'); /* Where i is an integer */

这适用于0到9

答案 1 :(得分:1)

您可以使用任何*printf()功能,例如printf, s(n)printf, fprintf等。*print**f**表示“格式化打印”。您也可以尝试printf("%c",(char)65),但这可能对您没有多大帮助。 在大多数情况下,内置函数比“自写”更快。

答案 2 :(得分:1)

原始问题并未明确输入是包含十进制形式的整数的字符串,但阅读注释会导致比sprintf重量轻得多的解决方案

(char)(atoi(decimal_str))

转换为char可确保整数将限制为8位,代码值相同。 atoi将一串数字转换为整数