您好我正在尝试将一些代码从Windows移植到Linux.我有这个:
itoa(word,aux,2);
Run Code Online (Sandbox Code Playgroud)
但GCC不承认itoa.如何在C++方式上转换为base 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 }\nRun Code Online (Sandbox Code Playgroud)\n\n您应该根据您的需要调整它(注意这个有 2 个参数,而不是 3 个)\n还要注意反向函数也位于维基百科链接中。
\n\n另外,这里还有一些其他情况(但不适用于基数 2)
\n\n\n\n\n此函数未在 ANSI-C\n 中定义,也不是 C++ 的一部分,但某些编译器\n 支持该函数。
\n\n在某些情况下,符合标准的替代方案可能是 sprintf:
\n
sprintf(str,"%d",value)转换为十进制基数。
sprintf(str,"%x",value) 转换为十六进制基数。
sprintf(str,"%o",value)转换为八进制。
| 归档时间: |
|
| 查看次数: |
4592 次 |
| 最近记录: |