如何在 C++ 中将 std::string 转换为 const char* 或 char*?
大家好!我刚开始学习 C++,遇到了一个问题。我有一个 std::string 对象用来存储文本,但我需要将它传递给一个期望 const char* 或 char* 的函数。例如,我在使用一个库,其中有函数:
void printMessage(const char* msg);
我尝试传递我的字符串:
std::string myString = "Hello, world!";
printMessage(myString); // 编译错误!
编译器报错,无法将 std::string 转换为 const char*。我知道它们是不同的类型,但如何正确地从 std::string 获取 C 字符串?另外,对于某些修改字符串的函数,我还需要获取 char*(非常量)。我尝试过使用 c_str(),但它返回 const char*,而我需要 char*。请告诉我如何安全地做到这一点?提前感谢帮助!
<<>>
将 std::string 转换为 const char*
要从 std::string 获取 const char*,请使用方法