3

我正在尝试使用 QTextStream 输出到标准输出,但除非我输入一个字符,否则什么都不会发生。我试过包括 cstdlib,这也不起作用。

注意:我尝试删除对我的标准输入 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();
4

1 回答 1

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

于 2012-04-29T10:09:24.713 回答