Objek wcerr di C ++ adalah objek dari kelas ostream. Hal ini terkait dengan stderr aliran keluaran kesalahan standar C.
Perbedaan antara cerr dan wcerr
cerr
menggunakan 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. wcerr
menggunakan wchar_t
(karakter lebar) dan dapat digunakan untuk karakter Unicode.
Perbedaan antara wcout dan wcerr
Pemrogram C ++ pemula menggunakan cout
dan wcout
untuk menampilkan kesalahan menggunakan keluaran standar untuk men-debug program mereka, tetapi selalu merupakan praktik yang baik untuk menggunakan cerr
dan wcerr
menampilkan 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 wcerr
objek dipastikan akan diinisialisasi selama atau sebelum pertama kalinya sebuah objek dari tipe ios_base::Init
dibangun. Setelah wcerr
objek 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() == &wcout
yaitu wcerr.tie()
pengembalian &wcout
yang 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 wcerr
objek 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