整数转成字符串
1. 使用itoa函数
char *itoa( int value, char *string,int radix);
原型说明:
value:欲转换的数据。
string:目标字符串的地址。
radix:转换后的进制数,可以是2进制、8进制、10进制、16进制等。
Exmaple:
#include <stdlib.h> #include <stdio.h> int main(void) { int number = 12345; char string[32]; itoa(number, string, 10); printf("integer = %d string = %s\n", number, string); return 0; }
2. 不利用库函数,转换为c风格的字符串
void intToString(int num, char*s) { int i = 0; while (num) { s[i] = num%10 + '0'; num = num/10; i++; } s[i] = '\0'; for (int j = 0, k = i-1; j < k; j++,k--) { char temp = s[j]; s[j] = s[k]; s[k] = temp; } }
3. 利用字符串流实现
string intToString(int n) { ostringstream ostr; ostr<<n; return ostr.str(); }
4. 利用string实现
string intToString2(int n) { string result = ""; while (n) { char c = n%10 + '0'; result = c+result; n = n/10; } return result; }
还可以利用string得到char*指针
string str = intToString(n); char * s = const_cast<char*>(str.c_str());