1. Duyuruyu Kapat

C++ Dersleri - 28)I/O İŞLEMLERİ [ÇEVİRİ]

'C/C++' forumunda Hattab tarafından 10 Şubat 2016 tarihinde açılan konu

  1. Hattab

    Hattab New Member

    Katılım:
    22 Ekim 2015
    Mesaj:
    550
    Beğeniler:
    4
    Ödül Puanları:
    0
    Az sonra göreceğiniz alt bölümlerde de göreceğiniz gibi, C++ standart kütüphanesi input/output işlemleri için geniş bir sete sahiptir.Bu bölümde ,C++ dilindeki çok basit I/O işlemlerinden bahsedeceğiz.

    C++, byte stream'larında I/O'dan oluşur.Eğer klavye, disk sürücüsü, ağ bağlantısı gibi cihazlardan bytle(veri) geliyorsa buna input işlemi; eğer ekran, yazıcı, ağ bağlantısı gibi yerlere byte(veri) gönderiliyorsa buna output işlemi denir.

    I/O Kütüphanesi Başlık Dosyası(Header)

    Aşağıda, C++ programları için önemli olan başlık dosyarı açıklanmıştır:

    Header File Fonksiyon ve Tanım
    <iostream> Bu dosya cin,cout,cerr ve clog objelerini tanımlar
    <iomanip> setw ve setprecision gibi sözde parametreli formatta olan I/O için kullanışlı servisleri deklare eder.
    <fstream> Bu dosya, dosya işleme için kullanıcı kontrolünü sağlamak için gereken servisleri deklare eder.


    Standart OUTPUT STREAM'ı(COUT)


    Öntanımlı olan cout objesi, ostream sınıfının bir kopyasıdır.cout objesi, genellikle standart output cihazlarının bağlı olduğunu söyler.cout , << şeklinde yazılan bağlantı operatörü ile birlikte kullanılır.Aşağıda örnek verilmiştir:

    [HASHTAG]#include[/HASHTAG] <iostream>

    using namespace std;

    int main( )
    {
    char str[] = "Hello C++";

    cout << "Value of str is : " << str << endl;
    }

    Sonuç:
    Value of str is : Hello C++

    C++ derleyicisi ayrıca ekrana yazdırılacak değişkenin veri tipini de belirler. << operatörü integer, float, double, string ve pointer veri tiplerini aşırı yükler.
    İlave operatörü olan << , tekil ifadede daha çok kullanılır.Bununla örnek olarak endl kodunu görebilirsiniz.Bu komutla yeni satıra geçilmesi sağlanır.

    Standart INPUT Stream (cin)

    Yine öntanımlı olan cin onjesi istream sınıfının bir kopyasıdır.cin objesi ,standart girdi cihazlarından veri alır,(genellikle klavyeden).cin çıkma operatörü olan, >> ile kullanılır.Aşağıda örnek verilmiştir:

    [HASHTAG]#include[/HASHTAG] <iostream>

    using namespace std;

    int main( )
    {
    char name[50];

    cout << "Please enter your name: ";
    cin >> name;
    cout << "Your name is: " << name << endl;

    }

    Yukardaki kodu çalıştırdığınızda sizden bir değer girmenizi ister ve sonra enter'a basın.Ve girdiğiniz değeri ekrana yazdıracaktır:

    Please enter your name: cplusplus
    Your name is: cplusplus

    C++ derleyicisi ayrıca girilen verinin tipini de belirler.>> operatörü ile ilgili örnek aşağıda verilmiştir:
    cin >> name >> age;

    Bu kod aşağıdakine eşittir fakat üstteki daha kısa olduğu için daha fazla tercih edilir:
    cin >> name;
    cin >> age;

    Standart Hata Stream'ı(cerr)

    Yine öntanımlı olan cerr objesi, ostream sınıfının kopyasıdır.cerr objesi hatalı cihaz bağlı olduğunu söyler.Ekleme birleştiricisi operatörü ile kullanılır(<<).Aşağıda örnek verilmiştir:

    [HASHTAG]#include[/HASHTAG] <iostream>

    using namespace std;

    int main( )
    {
    char str[] = "Unable to read....";

    cerr << "Error message : " << str << endl;
    }

    Yukardaki kodun sonucu:
    Error message : Unable to read....


    Standart log Stream'ı(clog)


    Yine öntanımlı olan clog objesi ostream sınıfının bir örneğidir.clog objesi , standart hata cihazının bağlı olduğunu söyler.Bu her bir atama ekleme operatörü, kullanıldığı yerde clog'u aktif eder.Ve ekrana bir sonuç yazdırılmasını sağlar.Aşağıdaki örneği incelersek daha açıklayıcı olabilir:
    clog ekleme operatörü ile aşağıdaki örnekte gösterildiği şekliyle kullanılır:

    [HASHTAG]#include[/HASHTAG] <iostream>

    using namespace std;

    int main( )
    {
    char str[] = "Unable to read....";

    clog << "Error message : " << str << endl;
    }

    Yukardaki kodu çalıştırdığınızda aşağıdaki sonucu verir.
    Error message : Unable to read....

    Bu küçük örneklerde ; cout,cerr, ve clog arasında bir fark görememiş olabilirsiniz.Fakat büyük programlar yazarken bu farkı anlarsınız.Bu yüzden cerr kullanarak ekrana hata mesajı yazdırmayı , clog kullanarak mesajları loglamaya filan iyice öğrenin mübarekler [​IMG]
     

Bu Sayfayı Paylaş

Share