QTextStream没有输出任何东西,我可能做错了什么?

时间:2012-04-29 08:02:12

标签: c++ qt

我正在尝试使用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();

1 个答案:

答案 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也可以。