//C++整形转化为字符串 #include <iostream> #include "stdio.h" #include<string.h> #include <assert.h> using namespace std; /* 编写一个比较安全的字符拷贝函数 */ char* stringCopy(char* dst, const char * src) { char *temp; temp = dst; assert(dst!= NULL && src!= NULL); while(*src != '\0') { *dst++ = *src++; } *dst = '\0'; return (temp); } void main() { int a = 12345; //定义一个整形的数据 /*定义一个字符数组,首字母m代表数组的初始地址,字符数组的一个 特定就是末尾是以NULL为结尾的*/ char m[7]; /*定义一个字符串*/ string s; /*把整形变量通过itoa变为字符型数据*/ itoa(a,m,10); /*我们可以直接通过初始地址来输出整个字符数组*/ cout<<m<<endl; //输出结果为 12345 /*我们可以把一个字符数组的首地址直接赋给一个字符串,其实,字符串的 方式和字符数组是一致的,我们也可以通过下标来进行访问*/ s = m; cout<<s[0]<<endl;//输出结果为1 /*不同的是字符串的末尾是不是以NULL来结束的*/ int k1 = sizeof(s); //16?? int k2 = strlen(m); //5 实际的字符串的长度 int k3 = sizeof(m); //7 分配的内存的长度 cout<<"输出长度信息"<<endl; cout<<k1<<' '<<k2<<' '<<k3<<endl; char *p = "23451"; int result; result = atoi(p); cout<<result<<endl; }