2010-02-23 19 views
9

Qt içinde cin kullanmak mümkün mü? cout'u kullanabilirim ancak bir Qt konsolu uygulamasında cin'un nasıl kullanılacağını gösteren örnekleri bulamıyorum.Qt ile cin kullanmak mümkün mü?

cevap

1

Sadece QtCreator ile aşağıdaki kodu çalıştı ve çalışıyor görünüyor:

#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(); 

}

o biraz yardımcı olur umarım!

+1

Sanırım özellikle QString'i sadece ints değil, belirli qt nesneleriyle kullanmaktan bahsediyor. –

7

Evet, bu konuyla ilgili sorunlara neden olabilecek kullanım ipleri gibi şeyler yapabilmenize rağmen mümkün ve beklendiği gibi çalışıyor.

Ancak, stdin'den okumak için daha deyimsel (Qt) yol öneriyoruz:

QString yourText; 
QFile file; 
file.open(stdin, QIODevice::ReadOnly); 
QTextStream qtin(&file); 
qtin >> yourText; 
+0

Böyle bir uestanding snippet kod parçası için teşekkür ederiz. – sivabudh

+0

Ve cout (qout) ile benzer yapabilirsiniz. Daha büyük faydalardan biri, birçok Qt türü için yerel destek. –

20

Ben I gerçi (Kaleb Pederson cevabını dışarı test ve o sunulan çözümü daha consise yolunu buldu) doğru yönde beni işaret için ona teşekkür etmek vardır: diğer bir deyişle

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. 

, gerçekten aracı olarak QFile gerekmez.

+1

Coolbeans. Sahte dosya olarak "stdin" kullanma fikrini beğenmedim. – mpen

İlgili konular