标准库的string类提供了3个成员函数来从一个string得到c类型的字符数组:c_str()、data()、copy(p,n)。 1. c_str():生成一个const char*指针,指向以空字符终止的数组。 注: ①这个数组的数据是临时的,当有一个改变这些数据的成员函数被调用后,其中的数据就会失效。因此要么现用先转换,要么把它的数据复制...
char*c;strings="1234";c=s.c_str(); 上述代码中,c最后指向的内容是垃圾,因为s对象被析构,其内容被处理,同时编译器将会报错。正确代码如下: char*cstr,*p;stringstr("Please split this phrase into tokens");cstr=newchar[str.size()+1];strcpy(cstr,str.c_str()); 如果一个函数要求char*参数,可以...
c_str() 以 char* 形式传回 string 内含字符串 如果一个函数要求char*参数,可以使用c_str()方法: 1strings="Hello World!"; 2printf("%s", s.c_str());//输出 "Hello World!" c_str在打开文件时的用处: 当需要打开一个由用户自己输入文件名的文件时,可以这样写:ifstream in(st.c_str());。其中...
atoi 函数是把字符串的数字转为数字型的数值, 例如:int n = atoi("1234");那么结果是n的数值就为1234。 strleft 是 string 字符串类型的对象, 那么string的函数c_str()是获取这个字符串的首指针, 例如: string str = "1234";那么 char* pStr = str.c_str(); 中 pStr就是指向"1234"字串的首地址 '...
标准库的string类提供了3个成员函数来从一个string得到c类型的字符数组:c_str()、data()、copy(p,n)。 c_str():生成一个const char*指针,指向以空字符终止的数组。 注: ①这个数组的数据是临时的,当有一个改变这些数据的成员函数被调用后,其中的数据就会失效。因此要么现用先转换,要么把它的数据复制到用...
strcpy(name,ptr.c_str());//c_str()返回的是⼀个临时的指针变量,不能对其操作.语法:const char *c_str();c_str()函数返回⼀个指向正规C字符串的指针常量, 内容与本string串相同.这是为了与c语⾔兼容,在c语⾔中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中...
1.string类成员函数c_str()的原型: const char *c_str()const;//返回一个以null终止的c字符串 2.c_str()函数返回一个指向正规c字符串的指针,内容和string类的本身对象是一样的,通过string类的c_str()函数能够把string对象转换成c中的字符串的样式; ...
char str3[] = "Wearea!"; char str4[] = "Wearef!"; char str5[] = "Weare"; char str6[] = "weAreCsdn!"; int cmp1 = strcmp(str1, str2); //cmp1=0 int cmp2 = strcmp(str1, str3); //cmp2=1 int cmp3 = strcmp(str1, str4); //cmp3=-1 ...
在C语言中,没有内置的字符串类型,但是我们可以使用字符数组来存储和操作字符串,为了方便地处理字符串,C语言标准库提供了一个名为string.h的头文件,其中包含了一些用于操作字符串的函数,在本回答中,我们将详细介绍如何使用string.h中的str函数。 (图片来源网络,侵删) ...