std::string myString(charArray); 使用赋值操作符: 你也可以先定义一个空的std::string对象,然后使用赋值操作符=将char数组的内容赋值给它。例如: cpp myString = charArray; 注意,由于charArray是一个以空字符'\0'结尾的C风格字符串,所以std::string会自动识别并包含直到'\0'之前的所有字符。 以下是完...
这段时间,总是要使用char或者char* 赋值给std::string,踩了不少坑。于是写了个测试代码,如果你不想看我的代码,可以跳到下面直接看总结: #include<string> #include<iostream> usingnamespacestd; intmain(intargc,char* argv[]) { string str1; cout <<"str1:"<< str1 <<" length: "<< str1.lengt...
char c[] = {“Hello”}; 或char c[] =“Hello”; 注意:数组c的长度不是5,而是6. 上面的初始化等价于:char c[5]={‘H’,’e’,’l’,’l’,’o’,’\0’}; 而不等价于:charc[5]={‘H’,’e’,’l’,’l’,’o’}; 5、字符数组的输出 char c[] ={“Hello”}; printf(“%s”...
1.char*转string:可以直接赋值。 2.char[]转string:可以直接赋值。 3.char*转char[]:不能直接赋值,可以循环char*字符串逐个字符赋值,也可以使用strcpy_s等函数。 4.string转char[]:不能直接赋值,可以循环char*字符串逐个字符赋值,也可以使用strcpy_s等函数。 5.string转char*:调用string对象的c_str函数或data...
string s,temp;char c = 'a';temp = c;s.append(temp);cout << s << endl;s.append(temp)...
string 是类,不是数据类型,所以不能像int和char那样直接加减,给你个例子吧:string s,temp;char c = 'a';temp = c;s.append(temp);cout << s << endl;s.append(temp);cout << s;最后的结果就是:a aa 这是很笨的一个方法,但是也是我最常用的,因为我不能将char直接转换为string ...
回答:char chSrc = 'c';char szTemp[128] = {0}; sprintf_s(szTemp, sizeof(szTemp), "%c", chSrc); string strTemp = szTemp; 先转成char*,然后直接就可以赋值给string了。
char chSrc = 'c';char szTemp[128] = {0};sprintf_s(szTemp, sizeof(szTemp), "%c", chSrc);string strTemp = szTemp;先转成char*,然后直接就可以赋值给string了。
使用string类的c_str()函数strcpy(str,string.c_str());
include <string> include <winsock.h> using namespace std;void main(){ string sTemp;u_char cTemp[11] = "lsjdflsjdf"; // 若用cTemp[10]溢出了 sTemp = (char *)cTemp;cout << sTemp << endl;} 这样能够正常输出,如果你的sTemp还没值,我觉得可能是楼主的编译器的问题了 ...