#include <string.h>
const char *c_str();
返回字符串地址,是一个c函数,返回类型const char*
c_str()函数返回一个指向正规C字符串的指针常量, 内容与本string串相同.
这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。
注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针
这样用不对
char* c;
string s="1234";
c = s.c_str();
应该这样用:
char c[20]; string s="1234"; strcpy(c,s.c_str());
c_str() 以 char* 形式传回 string 内含字符串
如果一个函数要求char*参数,可以使用c_str()方法:
string s = "Hello World!";
printf("%s", s.c_str()); //输出 "Hello World!"
.c_str()是在需要用char*的地方使用.如果只是需要处理字符串,根本不需要这个。
但是所有的C语言函数和C++有些IO相关函数(比如创建文件流对象时调用的构造函数)需要字符串时使用的都是char*类型的形参,不支持string类型,这时候就可以用string对象的.c_str()得到一个char*指针.
时间: 2024-10-13 13:55:26