C++ input dan output asas
Pustaka standard C++ menyediakan set kaya fungsi input/output, yang akan kami perkenalkan dalam bab seterusnya. Bab ini membincangkan operasi I/O yang paling asas dan biasa dalam pengaturcaraan C++.
C++ I/O berlaku dalam strim, yang merupakan jujukan bait. Jika aliran bait mengalir dari peranti (seperti papan kekunci, pemacu cakera, sambungan rangkaian, dll.) ke memori, ini dipanggil operasi input. Jika aliran bait mengalir dari memori ke peranti (seperti paparan, pencetak, pemacu cakera, sambungan rangkaian, dll.), ini dipanggil operasi output.
Fail pengepala perpustakaan I/O
Fail pengepala berikut sangat penting dalam pengaturcaraan C++.
Fail pengepala | Fungsi dan penerangan | tr>||||||||
---|---|---|---|---|---|---|---|---|---|
<iostream> | Fail ini mentakrifkan objek
| ||||||||
<iomanip> | Fail ini dihantar melalui apa yang dipanggil manipulator aliran berparameter (seperti <🎜>setw<🎜> dan <🎜> setprecision <🎜>), untuk mengisytiharkan perkhidmatan berguna untuk melaksanakan I/O piawai. | ||||||||
<fstream> | Fail ini menyediakan kenyataan pemprosesan fail dikawal pengguna. Kami akan membincangkan butiran ini dalam bab yang berkaitan tentang fail dan strim. |
Strim keluaran standard (cout)
Objek pratakrif cout ialah contoh kelas ostream. Objek cout "bersambung" ke peranti output standard, biasanya skrin paparan. cout digunakan bersama dengan operator sisipan strim << seperti yang ditunjukkan di bawah:
#include <iostream> using namespace std; int main( ) { char str[] = "Hello C++"; cout << "Value of str is : " << str << endl; }
Apabila kod di atas disusun dan dilaksanakan, ia menghasilkan keputusan berikut:
Value of str is : Hello C++
Pengkompil C++ memilih operator sisipan strim yang sesuai untuk memaparkan nilai berdasarkan jenis data pembolehubah yang akan dikeluarkan. Operator << dibebankan untuk mengeluarkan item data jenis terbina dalam (integer, float, double, rentetan dan penunjuk).
Operator sisipan strim << boleh digunakan berbilang kali dalam penyataan, seperti yang ditunjukkan dalam contoh di atas, endl digunakan untuk menambah aksara baris baharu di hujung baris.
Strim input standard (cin)
Objek pratakrif cin ialah tika kelas istream. Objek cin dilampirkan pada peranti input standard, biasanya papan kekunci. cin digunakan bersama dengan operator pengekstrakan strim >> seperti yang ditunjukkan di bawah:
#include <iostream> using namespace std; int main( ) { char name[50]; cout << "请输入您的名称: "; cin >> name; cout << "您的名称是: " << name << endl; }
Apabila kod di atas disusun dan dilaksanakan, ia menggesa pengguna untuk nama. Apabila pengguna memasukkan nilai dan menekan kekunci Enter, dia akan melihat hasil berikut:
请输入您的名称: cplusplus 您的名称是: cplusplus
Pengkompil C++ memilih operator pengekstrakan strim yang sesuai untuk mengekstrak nilai berdasarkan jenis data nilai untuk dimasukkan, dan meletakkan Ia disimpan dalam pembolehubah yang diberikan.
Operator pengekstrakan strim>> boleh digunakan berbilang kali dalam satu kenyataan Jika berbilang input data diperlukan, pernyataan berikut boleh digunakan:
cin >> name >> age;
Ini bersamaan dengan dua pernyataan berikut. :
cin >> name; cin >> age;
Strim Ralat Piawai (cerr)
Objek pratakrif cerr ialah contoh kelas ostream. Objek cerr dilampirkan pada peranti ralat standard, biasanya skrin paparan, tetapi objek cerr tidak ditimbal dan setiap aliran yang dimasukkan ke dalam cerr dikeluarkan serta-merta.
cerr juga digunakan bersama dengan operator sisipan strim << seperti yang ditunjukkan di bawah:
#include <iostream> using namespace std; int main( ) { char str[] = "Unable to read...."; cerr << "Error message : " << str << endl; }
Apabila kod di atas disusun dan dilaksanakan, ia akan Menghasilkan keputusan berikut:
Error message : Unable to read....
Strim log standard (sumbat)
Objek pratakrif sumbat ialah contoh kelas ostream. Objek tersumbat dilampirkan pada peranti ralat standard, biasanya skrin paparan, tetapi objek tersumbat ditimbal. Ini bermakna setiap aliran yang dimasukkan ke dalam terompah pertama kali disimpan dalam penimbal dan tidak dikeluarkan sehingga penimbal terisi atau penimbal disiram.
clog juga digunakan bersama dengan operator sisipan strim << seperti yang ditunjukkan di bawah:
#include <iostream> using namespace std; int main( ) { char str[] = "Unable to read...."; clog << "Error message : " << str << endl; }
Apabila kod di atas disusun dan dilaksanakan, ia akan menghasilkan keputusan berikut:
Error message : Unable to read....
Dengan contoh-contoh kecil ini, kita tidak dapat membezakan antara cout, cerr, dan clog, tetapi apabila menulis dan melaksanakan program besar, perbezaan antara mereka menjadi sangat jelas. Jadi amalan pengaturcaraan yang baik memberitahu kami untuk menggunakan aliran cerr untuk memaparkan mesej ralat, dan mesej log lain untuk menggunakan aliran tersumbat untuk menghasilkan.