📅  最后修改于: 2023-12-03 15:24:43.906000             🧑  作者: Mango
在C++中,有两种字符串的表示方式,一种是C样式字符串,也称为字符数组,以'\0'结尾;另一种是C++标准库提供的std::string类型。在实际开发中,我们有时需要在这两种字符串类型之间进行转换,这时我们可以使用相应的转换函数。
将C样式字符串转换为std::字符串的函数有三种:
const char* c_str = "hello, world!";
std::string str(c_str);
const char* c_str = "hello, world!";
std::string str;
str.assign(c_str);
const char* c_str = "hello, world!";
std::string str;
str.append(c_str);
将std::字符串转换为C样式字符串,可以使用c_str()函数,例如:
std::string str = "hello, world!";
const char* c_str = str.c_str();
在使用c_str()函数时,不要忘记这个C样式字符串的生命周期:它仅在其所属的std::string对象存在时有效。
通过本文,我们学习了如何将C样式字符串和std::字符串相互转换。需要注意的是,在转换时需要留意C样式字符串的生命周期以及std::字符串的各个函数的正确使用方法。