QtCreator 2.4.1 консольный ввод


Я немного новичок в C++ и QT. Попытка запустить очень простую программу в QtCreator, которая использует консольный ввод на WinXP:

#include <QString>
#include <QTextStream>

int main() {
    QTextStream streamOut(stdout);
    QTextStream streamIn(stdin);
    QString s1("This "), s2("is a "), s3("string.");
    QString s4 = s1 + s2 + s3;
    streamOut << s4 << endl;
    streamOut << "The length of that string is " << s4.length() << endl;
    streamOut << "Enter a sentence with whitespaces: " << endl;
    s4 = streamIn.readLine();
    streamOut << "Here is your sentence: n" << s4 << endl;
    streamOut << "The length of your sentence is: " << s4.length() << endl;
    return 0;
}

Проблема заключается в том, что вывод приложения native QTCreator, для его имени, не поддерживает ввод вещей. Вот вывод приложения:

Начало C:QProjecttest-build-desktop-Qt_4_8_0_for_Desktop_-MinGW_Qt_SDK___>z>>debugtest.exe...

Это строка.

Длина этого строка 17

Введите предложение с пробелами:

Включена отладка Qml. Используйте его только в безопасных условиях!

Я пробовал проверить "запуск в терминале" в проектах>рабочий стол>выполнить как некоторые ответы на аналогичные вопросы, предложенные здесь, и терминал появляется, но он, кажется, не взаимодействует с программой в любом случае. Вывод терминала:

Нажмите кнопку RETURN, чтобы закрыть это окно...

1 3

1 ответ:

Я бы сказал, что проверка Run in terminal правильна и необходима.

Удивительно то, что вы не получаете никакой ошибки компиляции, так как есть ошибка в строке 8:

cout << "Enter a sentence: "<<;

Последнее << неверно.

Исправляя ваш код, я получаю следующее:

#include <QString>
#include <QTextStream>
QTextStream cout(stdout);
QTextStream cin(stdin);

int main() {
    QString s2;
    cout << "Enter a sentence: ";
    s2 = cin.readLine();
    cout << "Here is your sentence:" << s2 << endl;
    cout << "The length of your sentence is: " << s2.length() << endl;
    return 0;
}

Который отлично работает на моем компьютере (WinXP, QtCreator 2.2.0).

Вы уверены, что ваш проект Qt верен и что вы компилируете правильный файл ?