如下: #include < stdio.h > #include < stdlib.h > #include < iostream > using namespace std; void main() ... {//int和char*互转: //int型转char*型,保持int数值显示等于结果字符串,如13转成"13" int _int=123; char _char[10]; itoa(_int,_char,10); printf("%s ",_char); //itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是目标字符串, //第三个参数是转移数字时所用 的基数。 //char*型转int型: int _int2=atoi(_char); printf("%d ",_int2); //如果使用int _int2=(int)_char,则是_char的地址变成int //而如果使用int _int2=(int)(_char),则是这句话是把_char[0]变成asc码的int//char*和string互转: //char*转string: string s1=(string)_char; string s2=_char; //这两种方法都是可以的 //string转char*,两个方法 const char* _char2=s1.c_str(); printf("%s ",_char2); const char* _char3=s1.data(); printf("%s ",_char3);//string和int互转: //string转int,没有直接的好方法,这里给两个方便的,其实就是先转成char*,再转成int int _int4=atoi(s1.data()); int _int5=atoi(s2.c_str()); printf("%d ",_int4); printf("%d ",_int5); //int转string,也同理,就不写了 }