C ++ 'daki wclog nesnesi, wostream sınıfının bir nesnesidir. Standart C hata çıkış akışı stderr ile ilişkilidir.
Clog ve wclog arasındaki fark
clog users karakter türü olarak (dar karakter) karakter. ASCII ve ANSI karakterleri için kullanılabilir.
Uluslararasılaştırma için, char'a uymayan Unicode dizelerine ihtiyacımız var. wclog, wchar_t (geniş karakter) kullanır ve Unicode karakterleri için kullanılabilir.
Wcerr ve wclog arasındaki fark
wclog
ve wcerr
her ikisi ile ilişkilidir stderr
, ancak wcerr
akışların wclog
arabelleğe alınması ve otomatik olarak bağlanmaması bakımından farklıdır wcout
.
Tamponlanmış çıktı, arabelleğe alınmamış çıktıdan daha verimlidir. Tamponlanmış çıktı durumunda, tüm çıktı bir değişkene kaydedilir ve bir kerede diske yazılır. Arabelleğe alınmamış çıktı için, diske yazmaya devam etmeliyiz.
Kritik hatalar için tamponlanmış çıktı tercih edilmez. Sistem çökmesi durumunda, çıktının hala arabellekte olduğu ve diske yazılmadığı ve hata mesajının alınamadığı bir durum ortaya çıkabilir. Sistem çökmesi durumunda hata verilerini kaybetmeyi göze alamayız, bu nedenle kritik hataları daha yavaş olsa bile diske yazmaya devam ederiz.
wclog
genellikle günlük kaydı amacıyla kullanılır. Kritik olmayan olay günlüğü için verimlilik daha önemlidir, bu nedenle wclog tercih edilir wcerr
.
wclog bildirimi
harici ostream wclog;
Başlık dosyasında "> başlık dosyasında tanımlanır.
wclog
Nesne sırasında veya tip bir amacı ilk kez daha önce başlatılması için temin edilir ios_base::Init
inşa edilir. wclog
başka hiçbir akıntıya bağlı değildir.
"Wc", wclog
"geniş karakter" wclog
anlamına gelir , bu nedenle "geniş karakter günlüğü" anlamına gelir.
wclog
nesne, bir karakter akışını görüntülemek için ekleme operatörü (<<) ile birlikte kullanılır. Genel sözdizimi şöyledir:
wclog << varName;
veya
wclog << "Bazı Dizeler";
Ayıklama operatörü değişkenler, dizeler ve manipülatörlerin bir kombinasyonuyla birden fazla kullanılabilir (örneğin endl
):
wclog << var1 << "Bazı Dizeler" << var2 << endl;
Örnek: wclog nasıl çalışır?
#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