C ++ int到binary

时间:2010-12-29 11:03:17

标签: c++

我正在使用itoa内置函数,以便将整数转换为二进制并将其存储在char *中。每件事情都很好,输出也是正确的(正如预期的那样)。唯一出错的是itoa不能像Linux那样在开源上工作。 有关在开源环境中使用itoa的任何建议。

4 个答案:

答案 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