C 如何可移植地将整数转换为字符串?
我在寻找一种方法,以可移植的方式将整数转换为字符串(至少在Windows&Linux、x86和x86_64之间可移植),我认为C 如何可移植地将整数转换为字符串?,c,portability,itoa,C,Portability,Itoa,我在寻找一种方法,以可移植的方式将整数转换为字符串(至少在Windows&Linux、x86和x86_64之间可移植),我认为itoa(X)是标准的,就像atoi(1) 但我在维基百科的条目中读到了以下内容: itoa函数是标准C编程语言的一个广泛的非标准扩展。它不能被移植使用,因为它没有在任何C语言标准中定义;然而,编译器通常在不一致模式下通过头提供它,因为它是标准库函数atoi的逻辑对应项 所以我想知道是否有任何方法可以通过便携方式实现。如果我必须编写自己的函数,我需要注意哪些事项?大多数情
itoa(X)
是标准的,就像atoi(1)
但我在维基百科的条目中读到了以下内容:
itoa函数是标准C编程语言的一个广泛的非标准扩展。它不能被移植使用,因为它没有在任何C语言标准中定义;然而,编译器通常在不一致模式下通过头提供它,因为它是标准库函数atoi的逻辑对应项
所以我想知道是否有任何方法可以通过便携方式实现。如果我必须编写自己的函数,我需要注意哪些事项?大多数情况下,您只需使用printf(“%d”)
如果需要在缓冲区中使用sprintf,您可以使用它,但是您多久转换为字符串而不将其写入文件或输出设备?如果您不经常这样做,那么使用一个运行时库例程将一些数字写入内存、分析结果并存储编码类型如何?从那时起,您只需打开“编码类型”来选择要使用的转换例程。虽然itoa不是官方可移植的,但我怀疑您是否会遇到问题。如果你这样做了,这是一个非常容易编写的函数