问我如何将数字转换为字符串(与atoi相反)?有没有itoa函数?
答只需使用sprintf:
sprintf(string, "%d", number);(不必担心sprintf可能有点大材小用,会浪费运行时间或代码空间;但实际上它效果很好。)另请参阅问题 7.5a 的答案中的示例,以及问题 8.6 和 12.21。
显然,您也可以使用sprintf将长整型或浮点数转换为字符串(使用%ld或%f);换句话说,sprintf也可以视为与atol和atof相反。此外,您还可以相当精细地控制格式。(正是因为这些原因,C 才提供了sprintf作为通用解决方案,而不是itoa.)
如果您实在必须编写一个itoa函数,以下是一些需要考虑的事项
参考文献:K&R1 第 3.6 节 第 60 页
K&R2 第 3.6 节 第 64 页