Действительно ли возможно использовать cin с QT?

Действительно ли возможно использовать cin в QT? Я могу использовать cout но не может найти примеры того, как использовать cin в рамках спокойного консольного приложения.

10
задан Derek 26 September 2012 в 15:19
поделиться

3 ответа

Да, это возможно и работает как ожидалось, хотя вы можете делать вещи, например, использовать потоки, которые могут вызвать проблемы с этим подходом.

Однако я бы рекомендовал более идиоматичный (для Qt) способ чтения из stdin:

QString yourText;
QFile file;
file.open(stdin, QIODevice::ReadOnly);
QTextStream qtin(&file);
qtin >> yourText;
8
ответ дан 3 December 2019 в 14:52
поделиться

Я только что попробовал следующий код с QtCreator и, кажется, он работает :

#include <QtCore/QCoreApplication>
#include <iostream>
using namespace std;

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    cout << endl << "hello" << endl;
    int nb;
    cout << "Enter a number " << endl;
    cin>>nb;
    cout << "Your number is "<< nb<< endl;

    return a.exec();

}

Надеюсь, это немного поможет!

2
ответ дан 3 December 2019 в 14:52
поделиться

Я проверил ответ Калеба Педерсона и нашел более продуманный способ, чем решение, которое он представил (хотя я должен поблагодарить его за то, что он указал мне правильное направление):

QTextStream qtin(stdin); 
QString line = qtin.readLine();  // This is how you read the entire line

QString word;
qtin >> word;    // This is how you read a word (separated by space) at a time.

В другом Другими словами, вам не нужен QFile в качестве посредника.

21
ответ дан 3 December 2019 в 14:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: