c++将字符串转换为char不能工作

C++ converting string to char is not working

本文关键字:char 不能 工作 转换 字符串 c++      更新时间:2023-10-16

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

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

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

如何解决这个问题??

应该是:

const char *str = tempLine.c_str();

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

编辑为您在评论中的要求:查看这里的c++学习资源。

不能将std::string::c_str()返回的const char*转换为char。变化:

char str = tempLine.c_str();

:

const char* str = tempLine.c_str();

注意,这并没有将tempLine中的字符复制到str中,str只是指tempLine中的字符。