1.int转换为string:
可以利用stringstream,要包含头文件#include <sstream>。
int main() {//int转string stringstream ss; int i=100; string str; ss<<i; ss>>str; cout<<str; return 0; }2.string转换为int:
与int转换为string类似,也要借用stringstream。
int main() {//string转int stringstream ss; int i; string str="1001"; ss<<str; ss>>i; cout<<i; return 0; }3.char*转换为int:
利用stdlid库中的函数atoi,atol,atoll函数。
#include <stdlib.h> int atoi(const char *p); long atol(const char *p); long long atoll(const char *p);
int main() {//char*转int int i,j; char c[]="1234"; char *p="1234"; i=atoi(p); j=atoi(c); cout<<i<<endl; return 0; }4.int转换为char*:
利用stdlib库中的itoa函数。
函数原型为:
char *itoa(int value,char *string,int radix);value:需要转换为字符的数字
string:转换之后保存字符的位置
radix:转换数字的进制(2,4,6,8,10,16进制)
int main() {//int转char* int i=1234; char c[100]; itoa(i,c,10); cout<<c<<endl; return 0; }5.char*转换为string:
a.通过初始化的时候转换:
char c[]="abcd"; string s(c);b.用assign函数给string赋值:
string s; char c[]="abcd"; s.assign(c);
int main() { char a[]="abcde"; string s; s.assign(a); cout<<s<<endl; }6.string转换为char*:
利用string类的函数c_str().
const char *p=string.c_str();
int main() { string s="abcd"; const char *c=s.c_str();//不加const不行。因为不能无法从“const char *”转换为“char *”,指针类型可能修改所指内容,但const修饰不容许修改 cout<<c; }
int main() { string s="abcd"; const char *c=s.c_str(); cout<<c<<endl; char ch[100]; strcpy(ch,s.c_str());//从const char*到char* cout<<ch; }7.const char* 转换为char*:
int main() { const char *r="1234"; char *p=new char[strlen(r)+1]; strcpy(p,r); cout<<p<<endl; delete []p; string s="abcd"; char ch[100]; strcpy(ch,s.c_str()); cout<<ch; }
原文:http://blog.csdn.net/yinqiaohua/article/details/44618445