我被要求对一个整数执行一些逻辑,如果我将它转换为String,我认为会更容易。所以如果有一个简单的方法,请建议我 在C
中使用“sprintf”函数答案 0 :(得分:2)
唯一比sprintf
更好的方法是snprintf
。对于简单的整数格式化,它可能无关紧要,但如果您做出一个愚蠢的假设(例如,snprintf
不能超过10位数),甚至是int
将保护您免受灾难合理的(如CHAR_BIT==8
)......
#define INT_DECIMAL_DIGITS (24*sizeof(int)/CHAR_BIT) // Safe upper bound
char buf[INT_DECIMAL_DIGITS+2]; // Optional sign and null termination
snprintf(buf, sizeof buf, "%d", x);
不可能简单得多......