私はこのような標準入力データを処理するQtのプログラムを持っている:Qtでは、stdinが空であるかどうかをチェックする方法は?
QTextStream qtin(stdin);
QString stdindata = qtin.readAll();
QByteArray ba;
ba = stdindata.toUtf8();
QJsonDocument exJSONDoc(QJsonDocument::fromJson(ba));
QJsonObject extRoot;
extRoot = exJSONDoc.object();
QStringList keys;
keys = extRoot.keys();
for (int n=0; n <= keys.count()-1; n++)
{
qDebug() << extRoot.value(keys[n]).toString();
}
私はこのように私のプログラムを呼び出すときにそれが動作:
myprogram < ./data.json
しかし、私はどんな「<」せずにそれを呼び出す場合、それがハングアップqtin.readAll()
。
stdinが空であればQtで確認できますか?
どのオペレーティングシステムでですか?そして、あなたは「スタンダード」が空であることを*正確に*意味していますか? –