c++将字符串转换为char不能工作
C++ converting string to char is not working
我有以下代码将字符串转换为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
中的字符。
相关文章:
- 需要帮助在 c++ 中将字符串转换为字符 ----错误 "const char *" 类型的值不能用于初始化 "char" 类型的实体
- 类型"const char[2]"的值不能隐式转换为"int"错误C++
- 不能将 "const char*" 类型的值分配给类型 "int" 的实体
- 为什么可以将Char指针变量初始化为字符串,而INT指针变量不能初始化到整数数组
- 不能将 "const char *" 类型的值分配给类型为 "LPSTR" 的实体
- 初始化不能从const char [3]转换为std :: string *
- c boost.python不能将const char*转换为str
- 不能在 C++ 中将带有 char* 的 <字符串、int> 对作为字符串
- 为什么我不能通过CPP返回将char*添加到char*中
- 为什么我可以使用 char 但不能使用 stricmp() 的字符串?
- 为什么我不能从铸造的字节(char)数组中调用虚拟函数
- 值类型 const char 不能用于初始化 char* 类型的实体
- "char *" 类型的值不能用于初始化类型 "char" 的实体
- 字符串加密函数可以使用char[],但不能使用纯字符串
- Qt Creator 不能使用 const char*
- char的值不能用于初始化char*的实体
- 不能将 "const char *" 类型的值分配给类型 "char" C OOP 的实体
- std::string原生编码为utf -8,但char不能包含utf字符
- c++将字符串转换为char不能工作
- T = char 不能推断出 std::basic_string<T> foo = "foo" ?