C ++ wclog - C ++ Standart Kitaplığı

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

wclogve wcerrher ikisi ile ilişkilidir stderr, ancak wcerrakışların wclogarabelleğ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.

wcloggenellikle 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.

wclogNesne sırasında veya tip bir amacı ilk kez daha önce başlatılması için temin edilir ios_base::Initinşa edilir. wclogbaşka hiçbir akıntıya bağlı değildir.

"Wc", wclog"geniş karakter" wcloganlamına gelir , bu nedenle "geniş karakter günlüğü" anlamına gelir.

wclognesne, 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

Ilginç makaleler...