C ++ 'da Akımlar nelerdir?
C ++, kullanıcılara girdi / çıktı görevlerini gerçekleştirmek için kullanabilecekleri bir dizi kitaplık sağlar. Bu görevler, popüler olarak akışlar olarak adlandırılan bayt dizileri biçiminde yapılır.
Akarsular ikiye ayrılır:
Akış türleri
- Giriş Akışı: Bu, baytların klavye gibi bir cihazdan ana belleğe aktığı bir akış türüdür.
- Çıkış Akışı: Bu, baytların ters yönde, yani ana bellekten, daha sonra görüntü ekranı gibi cihaza aktığı bir akış türüdür.
Bu C ++ eğitiminde şunları öğreneceksiniz:
- C ++ 'da Akımlar nelerdir?
- Akışlar nasıl çalışır?
- İşlev Tablosu
- Girdi / Çıktı için C ++ Üstbilgi dosyaları
- std :: cout
- std :: cin
- std :: cerrah
- std :: tıkanma
- GÇ akışlarında hata işleme:
Akışlar nasıl çalışır?
C ++ akışları şu şekilde çalışır:
- İlk olarak, doğru tür ile bir akış başlatılır.
- Daha sonra, get / put işaretçileri kullanarak G / Ç'nin nerede olacağını belirtmelisiniz.
- Bir akışta doğru konuma geldikten sonra, sırasıyla >> ve << operatörlerini kullanarak giriş ve çıkış görevlerini gerçekleştirebilirsiniz.
İşlev Tablosu
Stream.h başlık dosyasında sağlanan işlevler şunlardır:
Sınıf | Fonksiyonlar |
Filebuf | Dosya arabelleklerini okumak / yazmak için ayarlar. İçinde close () ve open () işlevleri vardır |
fstreambase | Bu, ifstream, fstream ve ofstream sınıfları için temel sınıftır. İşlemleri dosya akışlarında ortaktır. |
ifstream | Girdi işlemleri sağlamak için bir girdi dosyası akış sınıfıdır. |
akıntının | Çıktı işlemleri sağlamak için bir çıktı dosyası akış sınıfıdır. |
fstream | Bu bir giriş / çıkış akışı sınıfıdır. Eşzamanlı giriş / çıkış işlemlerini destekler. |
Girdi / Çıktı için C ++ Üstbilgi dosyaları
C ++, temel giriş / çıkış görevlerini gerçekleştirmek için işlevlerle birlikte gelen üç kitaplık sağlar. Onlar içerir:
- Iostream: Standart giriş / çıkış akışının kısaltmasıdır. Bu başlık dosyası cin / cout / cerr gibi nesnelerin tanımlarıyla birlikte gelir.
- Iomanip: Giriş / çıkış manipülatörlerinin kısaltmasıdır. Kitaplık, akışların işlenmesi için kullanılabilecek işlevlerle birlikte gelir. Setw, setprecision ve diğerleri gibi nesnelerin tanımlarını içerir.
- Fstream: Bu, dosya akışını açıklamak için bir başlık dosyasıdır. Dosyadan giriş olarak okunan veya bir dosyaya, çıktıya yazılan verileri işler.
Cin ve cout anahtar sözcükleri C ++ 'da çok popülerdir. Sırasıyla girdi almak ve çıktı almak için kullanılırlar. Bunları kullanmak için, programınıza iostream başlık dosyasını eklemelisiniz. Nedeni, o başlık dosyasında tanımlanmış olmalarıdır. Iostream başlık dosyasının eklenmemesi bir hata oluşturacaktır. Bu, C ++ derleyicisinin anahtar kelimelerin anlamını anlamadaki başarısızlığından kaynaklanır.
İostream başlık dosyasında tanımlanan ana nesneler cin, cout, cerrah ve clog'dır. Onları tartışalım.
std :: cout
Cout nesnesi, iostream sınıfının bir örneğidir. Normalde ekran olan standart bir çıktı aygıtında çıktı üretmek için kullanılır. Akış ekleme operatörü (<<) ile birlikte kullanılır.
Misal:
#includeusing namespace std;int main() {char welcome[] = "Welcome to Guru99";cout << welcome << endl;return 0;}
Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- Cout nesnesinin tanımlandığı iostream başlık dosyasını ekleyin.
- Sınıflarını kullanırken çağırmak zorunda kalmamamız için std ad alanını ekleyin.
- Main () işlevini çağırın. Program kodu kendi bünyesine eklenmelidir. Açılış küme ayracı {vücudunun başlangıcını gösterir.
- Guru99'a Hoş Geldiniz dizesini tutmak için welcome adında bir karakter değişkeni oluşturun.
- Konsolda welcome dizesinin değerini yazdırın. Endl, bitiş satırı anlamına gelen bir C ++ anahtar kelimesidir. Bir sonraki satırda metin yazdırmaya başlamak için imleci hareket ettirir.
- Program başarılı bir şekilde yürütüldüğünde değer döndürmelidir.
- Ana fonksiyon gövdesinin sonu ().
std :: cin
Cin nesnesi, istream sınıfının bir örneğidir. Giriş cihazından, klavyeden gelen girişi okur. Normalde ekstraksiyon operatörü (>>) ile birlikte kullanılır. Çıkarma nesnesi, klavye aracılığıyla girilen verilerin cin nesnesinden çıkarılmasından sorumludur.
Misal:
Aşağıdaki örnek cin anahtar kelimesinin C ++ 'da nasıl kullanılacağını gösterir: The following example demonstrates how to use the cin keyword in C ++:
#includeusing namespace std;int main(){int number;cout << "Enter a number:";cin >> number;cout << "\nYou entered: " << number;return 0;}
Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- Iostream başlık dosyasını programımıza ekleyin. Cin nesnesi bu başlık dosyasında tanımlanır.
- Sınıflarını kullanmak için std ad alanını ekleyin. Sınıflarını kullanırken std'yi çağırmanız gerekmeyecek.
- Main () işlevini çağırın. Program kodu kendi bünyesine eklenmelidir.
- Programın gövdesinin başlangıcı.
- Number adlı bir tamsayı değişkeni bildirin.
- Ekranda kullanıcıdan bir numara girmesini isteyen bir mesaj yazdırın.
- Kullanıcının konsolda girdiği değeri klavyeden okuyun.
- Konsolda yukarıda okunan değeri diğer metinle birlikte yazdırın.
- Program başarılı bir şekilde yürütülürse bir değer döndürmelidir.
- Ana işlevin gövdesinin sonu.
std :: cerrah
Cerrah nesnesi, hataları C ++ 'da vermek için standart hata akışını oluşturur. Cerr, ostream sınıfının bir örneğidir. Cerrah nesnesi arabelleğe alınmamış. Bu, bir hata mesajı hemen görüntüleneceği zaman kullanıldığı anlamına gelir.
Arabelleğe alınmadığı için, hata mesajını daha sonraki bir ekran için saklamaz. Akış ekleme operatörü (<<) ile birlikte kullanılır.
Misal:
#includeusing namespace std;int main() {cerr << "An Error occurred!";return 0;}
Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- Cerrah nesnesinin tanımlandığı iostream başlık dosyasını dahil edin.
- Sınıflarını kullanırken çağırmak zorunda kalmamamız için std ad alanını ekleyin.
- Main () işlevini çağırın. Program mantığı kendi bünyesine eklenmelidir. Açılış küme ayracı, işlevin gövdesinin başlangıcını gösterir.
- Konsolda bir hata yazdırmak için Cerrah nesnesini kullanın.
- Program başarılı bir şekilde çalıştırıldığında bir değer döndürmelidir.
- Ana işlevin gövdesinin sonu.
std :: tıkanma
Clog nesnesi, ostream sınıfının bir örneğidir. Standart ekranda, monitörde hataları göstermek için kullanılır. Cerrah nesnesine benzer, ancak ara belleğe alınmıştır. Arabelleğe alındığı için, hata mesajını arabellek dolana / boşaltılıncaya kadar arabellekte depolar. Akış ekleme operatörü (<<) ile birlikte kullanılır.
Misal:
#includeusing namespace std;int main() {clog << "An Error occurred!";return 0;}
Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- Clog nesnesinin tanımlandığı iostream başlık dosyası dahil.
- Sınıflarını çağırmadan kullanabilmemiz için std isim alanını dahil etmek.
- Main () işlevi çağırılıyor. Program mantığı kendi bünyesine eklenmelidir. {, İşlevin gövdesinin başlangıcını gösterir.
- Standart çıktı olan monitörde bir hata yazdırmak için tıkanma nesnesini kullanın.
- Program başarıyla tamamlandığında bir değer döndürmelidir.
- Main () işlevinin gövdesinin sonu.
GÇ akışlarında hata işleme:
Bir akışın geçerli olup olmadığını kontrol etmek için onu Boole olarak kullanabilirsiniz.
İşte bir örnek:
ifstream file( "myfile.txt" );if ( ! file ){cout << "File NOT opened!" << endl;}
Akış durumuyla ilgili daha fazla ayrıntı almak için şu işlevleri kullanabilirsiniz:
- iyi () - her şey yolundaysa doğru döndürür.
- bad () - ölümcül bir hata oluşursa doğru döndürür.
- fail () - başarısız akış işleminden sonra doğru döndürür.
- eof () - bir dosyanın sonuna ulaşırsa true döndürür.
Belirli bir okuma / yazma işleminin başarısız olup olmadığını öğrenmek için okuma sonucunu test edin.
Örneğin, kullanıcının geçerli bir tam sayı girip girmediğini kontrol etmek için şunu yapın:
int p;if ( cin >> p ){cout << "Enter valid number" << endl;}
Özet
- C ++ 'da giriş ve çıkış görevleri bayt dizisi ile yapılır. Baytlara akış adı verilir.
- Bir giriş akışında, baytlar bir klavye gibi giriş cihazından ana belleğe akar.
- Bir çıkış akışında, ana bellekten gelen baytlar daha sonra monitör gibi bir çıkış cihazına aktarılır.
- Cin nesnesi, istream sınıfının bir örneğidir. Klavye gibi bir giriş cihazından gelen girişi okur.
- Cout nesnesi, ostream sınıfının bir örneğidir. Monitör gibi çıktı cihazlarında çıktı üretir.
- Cerrah nesnesi, ostream sınıfının bir örneğidir. Monitörde hata nesnelerini görüntüler.
- Clog nesnesi, ostream sınıfının örneğidir. Çıkış cihazlarında hata mesajlarını görüntüler.
- Clog nesnesi hata mesajlarını arabelleğe alırken, cer nesnesi bunu yapmaz.