尝试使用时遇到访问冲突std::cin
。我正在使用 achar*
并且它不允许我输入我的数据。
void Input(){
while(true){
char* _input = "";
std::cin >> _input; //Error appears when this is reached..
std::cout << _input;
//Send(_input);
尝试使用时遇到访问冲突std::cin
。我正在使用 achar*
并且它不允许我输入我的数据。
void Input(){
while(true){
char* _input = "";
std::cin >> _input; //Error appears when this is reached..
std::cout << _input;
//Send(_input);
您没有提供用于cin
存储数据的缓冲区。
operator>>(std::istream&, std::string)
将为正在读取的字符串分配存储空间,但是您正在使用operator>>(std::istream&, char*)
哪个写入调用者提供的缓冲区,并且您没有提供可写缓冲区(字符串文字不可写),因此您遇到了访问冲突。
char* _input = ""; // note: it's deprecated; should have been "const char*"
_input
是指向字符串文字的指针。输入它是一种未定义的行为。要么使用
char _input[SIZE]; // SIZE declared by you to hold the enough characters
或者
std::string _input;
尝试这个:
char _input[1024];
std::cin >> _input;
std::cout << _input;
或更好:
std::string _input;
std::cin >> _input;
std::cout << _input;