我正在尝试使用QTextStream输出到stdout,但除非我输入一个字符,否则什么都不会发生。我试过包括cstdlib,这也没用。
注意:我尝试删除对stdin QTextStream的所有引用,输出工作正常。
#include <QTextStream>
QTextStream out(stdout);
out << "Please enter login username and password\n";
QTextStream in(stdin);
out << "username:";
QString username = in.readLine();
out << "password:";
QString password = in.readLine();
答案 0 :(得分:8)
每次在流中推送内容后,您必须手动刷新缓冲区:
QTextStream out(stdout);
out << "Please enter login username and password\n";
out.flush();
QTextStream in(stdin);
out << "username:";
out.flush();
QString username = in.readLine();
out << "password:";
out.flush();
QString password = in.readLine();
或者,附加<< endl
也可以。