QTextStream cin(stdin);
QTextStream cout(stdout);
QString path;
cout << "Set directory to save configuration file: ";
cout.flush();
// path = cin.readLine();
cin >> path;
这是代码。需要在控制台中输入一些文本时,它可以正常工作。它会打印消息,然后等待直到您输入一些文本,然后按Enter键。 但是,如果您不想输入任何文本,并且希望将路径字符串留空,则此代码不会执行:它不会将Enter识别为行/换行的结尾,因此如果尝试按Enter键而不写任何文本,光标将仅切换到下一行,并且程序仍将等待直到您编写一些内容。
因此,如果路径字符串为空,有什么方法可以识别Enter键 NO MATTER ?简单:按Enter键-程序停止从控制台读取。
最佳答案
对于QT,您可以使用 QTextStream::readLine
。
相反,您也可以将 std::getline
与普通的std::cin
和std::cout
一起使用。
关于c++ - Qt从控制台读取并按Enter停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45460731/