C ++ wcerr - C ++ Standard Library

Objek wcerr di C ++ adalah objek dari kelas ostream. Hal ini terkait dengan stderr aliran keluaran kesalahan standar C.

Perbedaan antara cerr dan wcerr

cerrmenggunakan char (karakter sempit) sebagai tipe karakter. Ini dapat digunakan untuk karakter ASCII dan ANSI.

Untuk internasionalisasi, kita membutuhkan string Unicode yang tidak cocok dengan char. wcerrmenggunakan wchar_t(karakter lebar) dan dapat digunakan untuk karakter Unicode.

Perbedaan antara wcout dan wcerr

Pemrogram C ++ pemula menggunakan coutdan wcoutuntuk menampilkan kesalahan menggunakan keluaran standar untuk men-debug program mereka, tetapi selalu merupakan praktik yang baik untuk menggunakan cerrdan wcerrmenampilkan kesalahan.

Ini karena alih-alih menampilkan aliran kesalahan ke layar, Anda nanti dapat mengubah aliran kesalahan untuk menulis kesalahan ke file.

deklarasi wcerr

 wostream eksternal; 

Ini didefinisikan dalam file header "> file header.

The wcerrobjek dipastikan akan diinisialisasi selama atau sebelum pertama kalinya sebuah objek dari tipe ios_base::Initdibangun. Setelah wcerrobjek dibangun, ekspresinya (wcerr.flags & unitbuf)bukan nol, yang berarti bahwa setiap output yang dikirim ke objek aliran ini segera di-flush ke sistem operasi. Juga wcerr.tie() == &wcoutyaitu wcerr.tie()pengembalian &wcoutyang berarti wcout.flush()dieksekusi sebelum operasi keluaran apapun pada wcerr.

"Wc" di wcerr mengacu pada "karakter lebar" dan 'err' berarti "kesalahan", maka wcerr berarti "kesalahan karakter lebar". The wcerrobjek digunakan bersama dengan operator penyisipan (<<) untuk menampilkan aliran karakter. Sintaks umumnya adalah:

 wcerr << varName;

atau

 wcerr << "Beberapa String";

Operator ekstraksi dapat digunakan lebih dari sekali dengan kombinasi variabel, string, dan manipulator (seperti endl):

 wcerr << var1 << "Beberapa String" << var2 << endl;

Contoh: Bagaimana wcerr bekerja?

 #include #include using namespace std; int main() ( char fileName() = "data.txt"; wifstream infile(fileName); if(infile) wcout << infile.rdbuf(); else wcerr << "Error while opening the file " << fileName << endl; return; )

Ketika Anda menjalankan program, outputnya adalah: (jika file tidak dapat dibuka)

 Kesalahan saat membuka file data.txt

Artikel yang menarik...