标签:不可 直接 注意 类型 操作方法 pre 不能 拷贝 操作
在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。
1.c_str是一个内容为字符串指向字符数组的临时指针;
2.c_str返回的是一个可读不可改的常指针;
注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针
char s1[20]="12345";//要用char 而不能用string string s2="54321"; string s=s1+s2; strcpy(s1,s2.c_str()); cout<<s1<<endl; strcat(s1,"a"); cout<<s1<<endl; cout<<s2.c_str()<<endl; return 0;
直接赋值是将两个char*指向的位置变成一样的,两个char*实际将表示一个字符串
而拷贝的结果是两个char*指向两个同样的字符串
字符串拷贝用strcpy,字符用=就可以了,因为=拷贝字符串时候只会拷贝首地址(第一个字符),而strcpy是把字符串里每个字符一个一个拷贝过去
标签:不可 直接 注意 类型 操作方法 pre 不能 拷贝 操作
原文地址:https://www.cnblogs.com/bcy1998/p/13795397.html