Đối tượng wclog trong C ++ là một đối tượng của lớp wostream. Nó được liên kết với trình ghi dòng đầu ra lỗi C tiêu chuẩn.
Sự khác biệt giữa clog và wclog
làm tắc nghẽn người dùng char (ký tự hẹp) làm kiểu ký tự. Nó có thể được sử dụng cho các ký tự ASCII và ANSI.
Để quốc tế hóa, chúng tôi cần các chuỗi Unicode không phù hợp với ký tự. wclog sử dụng wchar_t (ký tự rộng) và có thể sử dụng cho các ký tự Unicode.
Sự khác biệt giữa wcerr và wclog
wclog
và wcerr
, cả hai đều được liên kết với stderr
, nhưng nó khác wcerr
ở chỗ các luồng trong wclog
được lưu vào bộ đệm và không tự động được gắn với wcout
.
Đầu ra có đệm hiệu quả hơn đầu ra không có đệm. Trong trường hợp đầu ra có bộ đệm, tất cả đầu ra được lưu vào một biến và được ghi vào đĩa cùng một lúc. Đối với đầu ra không có bộ đệm, chúng ta phải tiếp tục ghi vào đĩa.
Đầu ra có bộ đệm không được ưu tiên cho các lỗi nghiêm trọng. Trong trường hợp hệ thống gặp sự cố, có thể xảy ra tình huống đầu ra vẫn ở trong bộ đệm và không được ghi vào đĩa và không thể truy xuất thông báo lỗi. Chúng tôi không thể để mất dữ liệu lỗi trong trường hợp hệ thống gặp sự cố, vì vậy chúng tôi tiếp tục ghi các lỗi nghiêm trọng vào đĩa mặc dù nó chậm hơn.
wclog
thường được sử dụng cho mục đích ghi nhật ký. Đối với ghi nhật ký sự kiện không quan trọng, hiệu quả quan trọng hơn nên wclog được ưu tiên hơn wcerr
.
khai báo wclog
extern ostream wclog;
Nó được định nghĩa trong tệp tiêu đề "> tệp tiêu đề.
Đối wclog
tượng được đảm bảo được khởi tạo trong hoặc trước lần đầu tiên một đối tượng kiểu ios_base::Init
được xây dựng. wclog
không bị ràng buộc với bất kỳ luồng nào khác.
"Wc" trong wclog
đề cập đến "ký tự rộng", do đó wclog
có nghĩa là "nhật ký ký tự rộng". Các
wclog
đối tượng được sử dụng cùng với toán tử chèn (<<) để hiển thị một luồng ký tự. Cú pháp chung là:
wclog << varName;
hoặc là
wclog << "Một số chuỗi";
Toán tử trích xuất có thể được sử dụng nhiều lần với sự kết hợp của các biến, chuỗi và trình thao tác (như endl
):
wclog << var1 << "Một số Chuỗi" << var2 << endl;
Ví dụ: Cách thức hoạt động của wclog?
#include #include using namespace std; int main() ( char fileName() = "data.txt"; wifstream infile(fileName); if(infile) wcout << infile.rdbuf(); else wclog << L"Error while opening the file " << fileName <
When you run the program, a possible output will be (if there is error in opening the file):
Error while opening the file data.txt