我正在使用itoa内置函数,以便将整数转换为二进制并将其存储在char *中。每件事情都很好,输出也是正确的(正如预期的那样)。唯一出错的是itoa不能像Linux那样在开源上工作。 有关在开源环境中使用itoa的任何建议。
答案 0 :(得分:5)
引用Wikipedia:
itoa
(整数到ASCII)函数是标准C编程语言的广泛非标准扩展。它不能被轻易使用,因为它没有在任何C语言标准中定义;但是,编译器通常在处于非符合模式时通过标头<stdlib.h>
提供它,因为它是标准库函数atoi
的逻辑对应物。
换句话说:
答案 1 :(得分:2)
使用sprintf
int i = 100;
char str[5];
sprintf(str, "%d", i);
答案 2 :(得分:1)
itoa是非标准功能。您可以使用stringstream
获得类似于itoa的行为#include<sstream>
string a;
int i;
stringstream s;
s << i;
a = s.str();
答案 3 :(得分:1)
itoa
不是标准的C ++函数。使用boost::lexical_cast
,或使用stringstreams