【发布时间】:2012-02-24 12:55:28
【问题描述】:
我对 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;
}
问题是原生 QTCreator 的应用程序输出,顾名思义,不支持输入内容。这是应用程序输出:
开始 C:\QProject\test-build-desktop-Qt_4_8_0_for_Desktop_-MinGW_Qt_SDK___>z>>\debug\test .exe...
这是一个字符串。
那个字符串的长度是 17
输入一个带空格的句子:
Qml 调试已启用。只能在安全的环境中使用!
我尝试在 Projects>Desktop>Run 中检查“在终端中运行”,因为这里建议的类似问题的一些答案出现了,终端显示了,但它似乎无论如何都没有与程序交互。终端输出:
按回车键关闭此窗口...
【问题讨论】:
-
您能否将您的
cin和cout放在main 的范围内,看看是否有区别? (通常不是最好的命名理念,人们会认为他们是std::cin/out。) -
是的,试图让我的问题更清楚,谢谢。
标签: qt qt-creator