我有一个程序,其中的一个变量类型是LPCSTR,用户需要输入它,但是std::cin不能给LPCSTR赋值这里是一些代码
LPCSTR windowName;
std::cin >> windowName;发布于 2019-07-04 19:33:15
类型LPCSTR只是一个指针,它是const char *的别名。
因此,该语句有两个问题
std::cin >> windowName;第一种是使用未初始化的指针作为目标。第二个是指针(一旦正确初始化)指向一个不能写入或更改的常量内存区域。
编译器应该抱怨第二个问题(指向常量内存的指针),而未初始化的指针将在运行时导致未定义的行为(以及可能的崩溃)。
最简单的解决方案是对字符串使用std::string,当需要LPCSTR时,只需使用c_str()成员函数。
https://stackoverflow.com/questions/56886983
复制相似问题