17 Mart 2010 Çarşamba

Konsol Programlama::Bölüm 4:"QTextStream ile konsol giriş çıkışı"

Stream'ler okuma ve yazma yapabilmek için kullanılan nesnelerdir.Standart C++'da bu işlemleri
yapabilmek için < iostream > kütüphanesi kullanılmaktadır. Qt'da bu kütüphanenin karşılığı
QTextStream kütüphanesidir.

iostream'de 3 tane global stream tanımlıdır
1-)cin : standart input(klavye)
2-)cout: standart output(konsol ekranı)
3-)cerr: stadnart hata-error (konsol ekranı)

QTextStream'i nesnelerini tanımladıktan sonra kullanım şekli C++'ın standart giriş, çıkış nesneleri ile aynıdır.
QTextStream nesneleri, QTextStream nesne_adı(stream yapılacak yer, kullanım türü) şeklindedir. Buna göre
standart C++ giriş çıkışlarına tam karşılık düşen nesnelerin tanımlanması şu şekildedir.



QTextStream cin(stdin, QIODevice::ReadOnly); // stdin klavye girişi, kullanım türü sadece okuma
QTextStream cout(stdout, QIODevice::WriteOnly);//stdout konsol çıkışı, kullanım türü sadece yazma
QTextStream cerr(stderr, QIODevice::WriteOnly);//stderr konsol çıkışı, kullanım türü sadece yazma



Qt ile konsol programlamada konsol giriş çıkışı için iostream kütüphanesi yerine QTextStream kütüphanesi kullanmamızın nedeni Qt değişkenlerinin (QString gibi) QTextStream çok rahat kullanılabilmesidir.

Örnek vermek gerekirse

iostream kütüphanesini kullansaydık şöyle olacaktı



QString a = "iostream kullanıyorum";
cout << a.toAscii().constData(); // Bir QString'i yazdırmak için 2 tane fonksiyon çağırmak zorunda
// kaldık ancak QTextStream'de böyle fonksiyon çağırmaya gerek yok.



Detaylı QTextStream bilgisi için: http://doc.trolltech.com/4.5/qtextstream.html

Hiç yorum yok:

Yorum Gönder