Is it possible to use cin
in Qt? I can use cout
but cannot find examples of how开发者_如何学C to use cin
within a Qt console application.
I tested out Kaleb Pederson's answer, and found a more consise way than the solution he presented (though I have to thank him for pointing me to the right direction):
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.
In other words, you don't really need QFile as your middleman.
Yes, it's possible and works as expected although you can do things, like use threads, that may cause problems with this approach.
However, I would recommend a more idiomatic (Qt) way to read from stdin:
QString yourText;
QFile file;
file.open(stdin, QIODevice::ReadOnly);
QTextStream qtin(&file);
qtin >> yourText;
I just tried the following code with QtCreator and it seems to be working :
#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();
}
Hope it helps a bit !
精彩评论