获取Cstrings的控制台输入
注意:这是在C ++中但使用C风格的字符串
你好,
我正在进行一项任务,我需要从控制台获取输入并将其保存到cstring。 一切都编译得很好,但是当程序运行时,它只是跳过了从用户那里得到的输入。 因此它将输出:“输入要插入的字符串:”然后跳过cin.getline函数,然后执行下一个命令。
这是我的头文件,cstring的声明,以及我遇到问题的代码行。
#include "stdafx.h" #include #include using namespace std; int main() { char tempCString[500] = {}; //...code snipit... cout << "Enter string to be inserted: " << endl; cin.getline(tempCString, 500, '\n'); //I've also tried cin.getline(tempCString, 500); //...end code snipit... return 0; }
注意:我不能使用“cin >> tempCString”因为它只能获得第一个空格的输入,我需要从控制台获取输入到换行符的所有内容。
谢谢
在获得新输入之前尝试清除cin
的缓冲区:
#include cin.clear(); cin.ignore(std::numeric_limits::max()); cout << "Enter string to be inserted: " << endl; cin.getline(tempCString, sizeof(tempCString), '\n');
请参阅如何刷新cin缓冲区?