本文转载自:http://blog.csdn.net/mnorst/article/details/6622293
1,使用c语言函数
将整形数value转换为其等价的字符串 char *itoa(int value, char *string, int radix)
Parameters(参数说明) 第一个参数:value Number to be converted(将要被转换的值) 第二个参数:string String result(转换的结果) 第三个参数:radix Base of value; must be in the range 2 – 36(转换的基数,取值范围2-36。例如 radix=10表示10进制,radix=8表示8进制。) 返回值:与string参数相同,便于函数的嵌套调用
头文件 stdlib.h
举例说明:
[cpp] view plain copy #include <stdlib.h> #include <stdio.h> int main() { int number = 123456; char string[25]; itoa(number, string, 10); printf("integer = %d string = %s\n", number, string); return 0; }
2, 使用CString格式化字符串
函数原型:void CString::Format( UINT nFormatID, [, argument]...);
使用方法同printf
举例说明:
[cpp] view plain copy int num = 2; CString str; str.Format("a=%d",a);
3,使用sprintf格式化字符
函数原型: int sprintf( char *buffer, const char *format [, argument] ... ); 举例说明:
[cpp] view plain copy char buffer[10]; int num = 3; sprintf(buffer,"size=%d",num); 4,不适用库函数
[cpp] view plain copy /*整数转化成字符串*/ char *IntToStr(int num, char str[]) { int i = 0, j = 0; char temp[100]; while(num) { temp[i] = num % 10 + '0'; //取模运算得到从后往前的每一个数字变成字符 num = num / 10; i++; } temp[i] = 0; //字符串结束标志 i = i - 1; //回到temp最后一个有意义的数字 while(i >= 0) { str[j] = temp[i]; i--; j++; } str[j] = 0; //字符串结束标志 return str; } /*字符串转换为整数,仅考虑十进制,不考虑非法字符*/ int StrToInt(char *str) { int value = 0; int sign = 1; assert(str != NULL); if(*str == '-') { sign = -1; str++; }else if(*str == '+') { str++; } while(*str) { value = value * 10 +(*str - '0'); str++; } return sign * value; } /*字符串转换整数,考虑16进制,10进制,8进制,不考虑其他非法字符*/ int StrToIntAll(char *str) { int value = 0; int sign = 1; int radix; assert(str != NULL); if(*str == '-') { sign = -1; str++; } else if(*str == '+') { str++; } //考虑不同的进制 if(*str == '0' && (*(str+1) == 'X' || *(str+1) == 'x')) { radix = 16; str += 2; }else if(*str == '0') { radix = 8; str++; }else { radix = 10; } while(*str) { if(radix == 16) { if(*str >= '0' && *str <= '9') { value = value * radix + (*str - '0'); }else { value = value * radix +(*str - 'a' + 10); } }else { value = value * radix + (*str - '0'); } str++; } return sign * value; }