3

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();
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 に答える