blc*_*llo 33 c++ string cstring
将C风格的字符串转换为C++的最佳方法是什么std::string
?过去我用stringstream
s 做过.有没有更好的办法?
tem*_*def 51
C++字符串有一个构造函数,可以转换C风格的字符串:
const char* myStr = "This is a C string!";
std::string myCppString = myStr;
Run Code Online (Sandbox Code Playgroud)
San*_*dri 10
检查字符串类的不同构造函数:文档 您可能感兴趣:
//string(char* s)
std::string str(cstring);
Run Code Online (Sandbox Code Playgroud)
和:
//string(char* s, size_t n)
std::string str(cstring, len_str);
Run Code Online (Sandbox Code Playgroud)
如果你想char*
这样做std::string
,你可以使用构造函数。
char* a;
std::string s(a);
Run Code Online (Sandbox Code Playgroud)
或者如果string s
已经存在,只需这样写:
s=std::string(a);
Run Code Online (Sandbox Code Playgroud)
C++11
:重载字符串文字运算符
std::string operator ""_s(const char * str, std::size_t len) {
return std::string(str, len);
}
auto s1 = "abc\0\0def"; // C style string
auto s2 = "abc\0\0def"_s; // C++ style std::string
Run Code Online (Sandbox Code Playgroud)
C++14
:使用std::string_literals
命名空间中的运算符
using namespace std::string_literals;
auto s3 = "abc\0\0def"s; // is a std::string
Run Code Online (Sandbox Code Playgroud)