Apa itu Stream di C ++?
C ++ memberi pengguna sejumlah pustaka yang dapat mereka gunakan untuk melakukan tugas input / output. Tugas-tugas ini dilakukan dalam bentuk urutan byte, yang populer disebut stream.
Aliran dibagi menjadi dua:
Jenis aliran
- Arus Input: Ini adalah jenis aliran di mana byte mengalir dari perangkat seperti keyboard ke memori utama.
- Output Stream: Ini adalah jenis aliran di mana byte mengalir ke arah yang berlawanan, yaitu dari memori utama kemudian ke perangkat seperti layar tampilan.
Dalam tutorial C ++ ini Anda akan belajar:
- Apa itu Stream di C ++?
- Bagaimana cara kerja streaming?
- Tabel Fungsi
- C ++ Header file untuk Input / Output
- std :: cout
- std :: cin
- std :: cerr
- std :: menyumbat
- Penanganan kesalahan dengan aliran IO:
Bagaimana cara kerja streaming?
Aliran C ++ berfungsi sebagai berikut:
- Pertama, aliran diinisialisasi dengan jenis yang tepat.
- Selanjutnya, Anda harus menyatakan di mana I / O akan terjadi menggunakan pointer get / put.
- Setelah mendapatkan lokasi yang tepat dalam aliran, Anda dapat melakukan tugas input dan output menggunakan operator >> dan <<, masing-masing.
Tabel Fungsi
Berikut ini adalah fungsi yang disediakan di file header stream.h:
Kelas | Fungsi |
Filebuf | Ini menetapkan buffer file untuk membaca / menulis. Ini memiliki fungsi close () dan open () di dalamnya |
fstreambase | Ini adalah kelas dasar untuk kelas ifstream, fstream, dan ofstream. Operasinya umum untuk aliran file. |
ifstream | Ini adalah kelas aliran file input untuk menyediakan operasi input. |
arus | Ini adalah kelas aliran file keluaran untuk menyediakan operasi keluaran. |
fstream | Ini adalah kelas aliran input / output. Mendukung operasi input / output secara bersamaan. |
C ++ Header file untuk Input / Output
C ++ menyediakan tiga pustaka yang dilengkapi dengan fungsi untuk melakukan tugas masukan / keluar dasar. Mereka termasuk:
- Iostream: Ini adalah akronim untuk aliran input / output standar. File header ini dilengkapi dengan definisi untuk objek seperti cin / cout / cerr.
- Iomanip: Ini adalah singkatan dari manipulator input / output. Pustaka dilengkapi dengan fungsi yang dapat digunakan untuk manipulasi aliran. Ini berisi definisi untuk objek seperti setw, setprecision, dan lainnya.
- Fstream: Ini adalah file header untuk menjelaskan aliran file. Ini menangani data yang dibaca dari file sebagai input atau yang ditulis ke file, output.
Kata kunci cin dan cout sangat populer di C ++. Masing-masing digunakan untuk mengambil input dan output pencetakan. Untuk menggunakannya, Anda harus menyertakan file header iostream di program Anda. Alasannya adalah bahwa mereka didefinisikan dalam file header itu. Kegagalan untuk memasukkan file header iostream akan menghasilkan kesalahan. Ini diakibatkan oleh kegagalan compiler C ++ untuk memahami arti dari kata kunci.
Objek utama yang didefinisikan dalam file header iostream adalah cin, cout, cerr, dan clog. Mari kita bahas.
std :: cout
Objek cout adalah turunan dari kelas iostream. Ini digunakan untuk menghasilkan keluaran pada perangkat keluaran standar, yang biasanya adalah layar. Ini digunakan bersama dengan operator penyisipan aliran (<<).
Contoh:
#includeusing namespace std;int main() {char welcome[] = "Welcome to Guru99";cout << welcome << endl;return 0;}
Keluaran:
Berikut tangkapan layar kodenya:
Penjelasan Kode:
- Sertakan file header iostream tempat objek cout ditentukan.
- Sertakan namespace std sehingga kita tidak perlu memanggilnya saat menggunakan kelasnya.
- Panggil fungsi main (). Kode program harus ditambahkan di dalam tubuhnya. Tanda kurung kurawal buka {menandai awal tubuhnya.
- Buat variabel karakter bernama selamat datang untuk menahan string Selamat datang di Guru99.
- Cetak nilai string selamat datang di konsol. Endl adalah kata kunci C ++ yang berarti garis akhir. Ini menggerakkan kursor untuk mulai mencetak teks pada baris berikutnya.
- Program harus mengembalikan nilai setelah eksekusi berhasil.
- Akhir badan fungsi main ().
std :: cin
Objek cin adalah turunan dari kelas istream. Itu membaca input dari perangkat input, keyboard. Biasanya digunakan bersama dengan operator ekstraksi (>>). Objek ekstraksi bertanggung jawab untuk mengekstraksi data yang dimasukkan melalui keyboard dari objek cin.
Contoh:
Contoh berikut menunjukkan cara menggunakan kata kunci cin di C ++:
#includeusing namespace std;int main(){int number;cout << "Enter a number:";cin >> number;cout << "\nYou entered: " << number;return 0;}
Keluaran:
Berikut tangkapan layar kodenya:
Penjelasan Kode:
- Sertakan file header iostream ke dalam program kami. Objek cin didefinisikan dalam file header ini.
- Sertakan namespace std untuk menggunakan kelasnya. Anda tidak perlu memanggil std saat menggunakan kelasnya.
- Panggil fungsi main (). Kode program harus ditambahkan di dalam tubuhnya.
- Awal badan program.
- Deklarasikan variabel bilangan bulat bernama nomor.
- Cetak pesan di layar yang meminta pengguna memasukkan nomor.
- Baca nilai yang dimasukkan oleh pengguna di konsol dari keyboard.
- Cetak nilai yang dibaca di atas pada konsol bersama teks lain.
- Program harus mengembalikan nilai jika berhasil dijalankan.
- Ujung bodi berfungsi utama.
std :: cerr
Objek cerr membentuk aliran kesalahan standar untuk menghasilkan kesalahan dalam C ++. Cerr adalah turunan dari kelas ostream. Objek cerr tidak disangga. Artinya, ini digunakan ketika pesan kesalahan akan segera ditampilkan.
Karena tidak buffer, itu tidak menyimpan pesan kesalahan untuk tampilan nanti. Ini digunakan bersama dengan operator penyisipan aliran (<<).
Contoh:
#includeusing namespace std;int main() {cerr << "An Error occurred!";return 0;}
Keluaran:
Berikut tangkapan layar kodenya:
Penjelasan Kode:
- Sertakan file header iostream di mana objek cerr telah ditentukan.
- Sertakan namespace std sehingga kita tidak perlu memanggilnya saat menggunakan kelasnya.
- Panggil fungsi main (). Logika program harus ditambahkan di dalam tubuhnya. Penjepit keriting bukaan menandai awal dari fungsi tubuh.
- Gunakan objek cerr untuk mencetak kesalahan pada konsol.
- Program harus mengembalikan nilai setelah eksekusi berhasil.
- Ujung bodi berfungsi utama.
std :: menyumbat
Objek clog adalah turunan dari kelas ostream. Ini digunakan untuk menunjukkan kesalahan pada tampilan standar, monitor. Ini mirip dengan objek cerr, tapi itu buffer. Karena buffer, ia menyimpan pesan kesalahan dalam buffer sampai buffer tersebut terisi / dibilas. Ini digunakan bersama dengan operator penyisipan aliran (<<).
Contoh:
#includeusing namespace std;int main() {clog << "An Error occurred!";return 0;}
Keluaran:
Berikut tangkapan layar kodenya:
Penjelasan Kode:
- Termasuk file header iostream di mana objek penyumbatan didefinisikan.
- Termasuk namespace std sehingga kita bisa menggunakan kelasnya tanpa memanggilnya.
- Memanggil fungsi main (). Logika program harus ditambahkan di dalam tubuhnya. Tanda {menandai awal dari badan fungsi.
- Gunakan objek penyumbat untuk mencetak kesalahan pada output standar, monitor.
- Program harus mengembalikan nilai setelah berhasil diselesaikan.
- Akhir dari badan fungsi main ().
Penanganan kesalahan dengan aliran IO:
Untuk memeriksa apakah sebuah streaming valid atau tidak, Anda dapat menggunakannya sebagai Boolean.
Berikut ini contohnya:
ifstream file( "myfile.txt" );if ( ! file ){cout << "File NOT opened!" << endl;}
Untuk mendapatkan detail selengkapnya tentang status streaming, Anda dapat menggunakan fungsi berikut:
- good () - akan mengembalikan nilai true jika semuanya baik-baik saja.
- bad () - akan mengembalikan nilai true jika terjadi kesalahan fatal.
- fail () - akan mengembalikan nilai true setelah operasi streaming tidak berhasil.
- eof () - akan mengembalikan nilai true jika mencapai akhir file.
Untuk mengetahui apakah operasi baca / tulis tertentu gagal, uji hasil baca.
Misalnya, untuk memeriksa apakah pengguna memasukkan bilangan bulat yang valid, lakukan ini:
int p;if ( cin >> p ){cout << "Enter valid number" << endl;}
Ringkasan
- Tugas input dan output dalam C ++ dilakukan melalui urutan byte. Byte tersebut disebut aliran.
- Dalam aliran input, byte mengalir dari perangkat input seperti keyboard ke memori utama.
- Dalam aliran keluaran, byte dari memori utama kemudian ke perangkat keluaran seperti monitor.
- Objek cin adalah turunan dari kelas istream. Itu membaca input dari perangkat input seperti keyboard.
- Objek cout adalah turunan dari kelas ostream. Ini menghasilkan keluaran pada perangkat keluaran seperti monitor.
- Objek cerr adalah turunan dari kelas ostream. Ini menampilkan objek kesalahan pada monitor.
- Objek clog adalah turunan dari kelas ostream. Ini menampilkan pesan kesalahan pada perangkat output.
- Objek yang menyumbat menyangga pesan kesalahan, sedangkan objek cerr tidak.