C++基本转换

Rui*_*Rui 5 c++ base

您好我正在尝试将一些代码从Windows移植到Linux.我有这个:

itoa(word,aux,2);
Run Code Online (Sandbox Code Playgroud)

但GCC不承认itoa.如何在C++方式上转换为base 2?

谢谢 ;)

Tom*_*Tom 2

Here\xc2\xb4有一些帮助

\n\n
/* itoa:  convert n to characters in s */\n void itoa(int n, char s[])\n {\n     int i, sign;\n\n     if ((sign = n) < 0)  /* record sign */\n         n = -n;          /* make n positive */\n     i = 0;\n     do {       /* generate digits in reverse order */\n         s[i++] = n % 10 + \'0\';   /* get next digit */\n     } while ((n /= 10) > 0);     /* delete it */\n     if (sign < 0)\n         s[i++] = \'-\';\n     s[i] = \'\\0\';\n     reverse(s);\n }\n
Run Code Online (Sandbox Code Playgroud)\n\n

您应该根据您的需要调整它(注意这个有 2 个参数,而不是 3 个)\n还要注意反向函数也位于维基百科链接中。

\n\n

另外,这里还有一些其他情况(但不适用于基数 2)

\n\n
\n

此函数未在 ANSI-C\n 中定义,也不是 C++ 的一部分,但某些编译器\n 支持该函数。

\n\n

在某些情况下,符合标准的替代方案可能是 sprintf:

\n
\n\n

sprintf(str,"%d",value)转换为十进制基数。

\n\n

sprintf(str,"%x",value) 转换为十六进制基数。

\n\n

sprintf(str,"%o",value)转换为八进制。

\n