QTextStream不输出任何东西,我会做错什么?
问题描述:
我想使用QTextStream输出到标准输出,但没有任何反应,除非我输入一个字符。我曾尝试过包括cstdlib,但这也不起作用。QTextStream不输出任何东西,我会做错什么?
注意:我试着删除所有引用我的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();
答
您在每次流中推东西的时间后手动刷新缓冲区:
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
也适用。
另外,正如你所说的,尽管endl会导致流被刷新,只是\ n在字符串的末尾不会。 – 2012-04-29 23:05:25
非常好,谢谢你Emanuele。我认为这可能是这种情况。经过进一步的故障排除后,我注意到如果我在不同的示波器中分别使用它们,将会修复它。再次感谢你。 – 2012-04-30 00:09:11