C++ 将字符串转换为 char 不起作用

标签 c++ visual-studio

我有以下代码将字符串转换为字符:

string tempLine = dataLine[studentIndex];
char str = tempLine.c_str();

但这行返回一个错误:“类型为“constant char *”的值不能用于初始化类型为“char”的实体。

我该如何解决这个问题??

最佳答案

应该是:

const char *str = tempLine.c_str();

请注意,您不应该更改字符串的内容。通常,这不是处理 C++ 字符串的好方法。如果您真的必须将 C++ 字符串完全转换为 C 字符串 - 分配内存并使用 strcpy 复制数据,请不要直接使用 C++ 字符串缓冲区。

在评论中

编辑您的请求:看here用于 C++ 学习资源。

关于C++ 将字符串转换为 char 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8452543/

相关文章:

c++ - 在 DirectX11 中为动态和静态对象使用单独的顶点缓冲区

c++ - Boost.Hana 中是否有与 Boost.Fusion 中的 View 概念等效的概念?

jquery - 如何在 Visual Studio 中通过 Nuget 获取最新的 jQuery 1.x?

c++ - 不存在从到 * 的合适转换

python - 为 Visual Studio 2012 (PTVS) 安装 Python 工具

c++ - 常量赋值的浮点比较

c++ - MPI 通讯器管理

c++ - 是否接受从派生 const 到非常量父类的隐式转换?

c++ - Visual Studio 2010/2012 插件项目问题

c# - 如何在VS2012中安装VS2013扩展包