目录
1.char* ,const char*,char[]与string 之间的转换
2.string与char* ,const char*,char[] 之间的转换
3.const char* 与 char* 之间的转换
4.数字与string之间的转换
5.string的操作 (Java语言的操作与之类似)
6.字符处理函数 sprintf()
1.char* ,const char*,char[]与string 之间的转换
char *m=(char*)"hello world!";//char *m="hello world!";公司编译器编译不过,不能直接赋值,要强制转换 const char *p="nice day"; char n[]="hello 2 world!!"; string k=m; cout <<"n k:" << k << "k.length:" << k.length() << endl; k=p; cout <<"n k:" << k << "k.length:" << k.length() << endl; k=n; cout <<"n k:" << k << "k.length:" << k.length() << endl; string kkk(m);//使用 string的构造函数初始化 cout <<"n kkk:" << kkk << "kkk.length:" << kkk.length() << endl;
2.string与char* ,const char*,char[] 之间的转换
string kk="dten";
printf("kk:%s",kk.c_str());//printf("kk:%s",kk);编译不过,参数需要 char* 类型
//char* p_0=kk.data();//公司环境编译不过
//char* p_1=kk.c_str();//公司环境编译不过, c_str()返回的只是临时指针不能对其操作,但是能作为函数的参数
char* p_1=new char[kk.length()+1];
strcpy(p_1,kk.c_str());
cout <<"n p_1:" << *p_1 << endl;//这里仅仅输出的是一个字符
printf("p_1:%s",p_1);
const char* p_2=kk.c_str();
cout <<"n p_2:" << *p_2 << endl;
printf("p_2:%s",p_2);
char n_1[kk.length()+1];
strcpy(n_1,kk.c_str());
cout <<"n n_1:" << n_1 << endl;
3.const char* 与 char* 之间的转换
const char* cpc="abcdefg";
char* pc=new char[100];
strcpy(pc,cpc);
printf("pc:%s",pc);
4.数字与string之间的转换
const char* cpc="abcdefg";
char* pc=new char[100];
strcpy(pc,cpc);
printf("pc:%s",pc);
4.数字与string之间的转换
注意导入头文件 #include
int num=0; string str="123"; num=stoi(str);//string 转换为 int,还有stol()字符串转换为长整型,stoll()字符串转换为长长整型 cout <<"n num:"<5.string的操作 (Java语言的操作与之类似)
string s1,s2,s3; s1=s2=s3="123456789"; s3="aaaa"; s1.insert(5,s3); cout << "ns1:" <6.强大的字符处理函数 sprintf()
char array_2[100]; sprintf(array_2,"qweqe%d456789",123); printf("narray_2:%sn",array_2);字符串的格式化,对齐,字符保留位数的处理等,非常强大,详细参考:(7条消息) 整理:C++中sprintf()函数的使用详解_bat67的博客-CSDN博客_c++ sprintf
文章参考:
C++字符串相互转换 - wenglabs - 博客园 (cnblogs.com)
c++中char与string之间的相互转换问题 - 百度文库 (baidu.com)
(7条消息) C++数字转string,string转数字函数总结_HeisenbergWDG的博客-CSDN博客_c++ 数字转string
(7条消息) c++中数字与string转换_w55100的博客-CSDN博客_c++字符串转数字
(7条消息) C++中将string类型转换为int, float, double类型 主要通过以下几种方式:_candadition的博客-CSDN博客_c++ string转float
(7条消息) [C++] string转为int, float, double_gz7seven的博客-CSDN博客_c++ string转float



