将字符串转换为 const char* 问题 [重复]

Posted

技术标签:

【中文标题】将字符串转换为 const char* 问题 [重复]【英文标题】:Convert string to const char* issue [duplicate] 【发布时间】:2013-07-25 02:35:47 【问题描述】:
string str1 = "hello";
    const char* string1 = str1; 

我收到一个错误..

无法在初始化中将“std::string aka std::basic_string”转换为“const char*”

如何将字符串转换为 const char*

感谢您的帮助

【问题讨论】:

【参考方案1】:

这个解决方案怎么样:

string str1 = "hello";
const char* string1 = str1.c_str();

【讨论】:

【参考方案2】:

如何将字符串转换为 const char*?

使用std::string::c_str()函数,它返回一个不可修改标准C字符数组版本的字符串。

const char* string1 = str1.c_str();

【讨论】:

在下一次调用string(或字符串对象的析构函数)的非常量成员之前有效。 str1.data() 不能保证为空终止,所以我会小心一点。 没错。谢谢!【参考方案3】:

试试const char* string1 = str1.c_str();

【讨论】:

以上是关于将字符串转换为 const char* 问题 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

将 const char* 转换为 LPCTSTR

将字符串转换为 Const Char XYZ[] PROGMEM

将 CString 转换为 const char*

将标记转换为 char* const* 时,使用 boost 标记字符串失败

C++ 将 char 转换为 const char*

将字符串从 std::string 转换为 const char * 时出现数据丢失问题