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 ответ:
Я бы сказал, что проверка
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 верен и что вы компилируете правильный файл ?