如何在 C++ 中将字符串转换为 const char[]

Posted

技术标签:

【中文标题】如何在 C++ 中将字符串转换为 const char[]【英文标题】:How to convert string to const char[] in c++ 【发布时间】:2021-07-11 19:22:51 【问题描述】:

我正在为 Vex 机器人开发一个 C++ 项目,我正在使用一个采用 const char[] 的函数,但是为了显示一个整数,没有这样的函数可以转换为 const char[],所以有没有办法去做。所有搜索结果都显示了如何转换为const char*,顺便说一下“字符串”的类型为const char[]

编辑: 我还需要转换字符串以连接两个字符串(但最终只是将两个字符串都转换为 std::string 然后再转换回 const char[])

【问题讨论】:

接受const char[] 的函数将接受const char* std::string::c_str()函数 谢谢,成功了。 (两者都有效) 这能回答你的问题吗? How to convert a std::string to const char* or char* 我也发现 * string.c_str() 也有效 【参考方案1】:

std::string 有函数 c_str()(自 C++11 起具有同义词 data())来获取指向底层空终止字符数组的指针:

std::string const myString"***";
const char* cstr = myString.c_str();
const char* data = myString.data();

【讨论】:

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

如何在 C++ 中将 std::string 转换为 const char [重复]

在 C++ 中将非 const 转换为 const

在 C++ 中将 const vector<uint8_t> 转换/转换为 const vector<char>

在 C++ 中将右值引用转换为临时参数到 const 左值返回的正确方法

如何在 C++ 中将数字转换为字符串,反之亦然

如何在 C++ 中将大数字符串转换为整数?