C ++ tıkanıklığı - C ++ Standart Kitaplığı

C ++ 'daki clog nesnesi, ostream sınıfının bir nesnesidir. Standart C hata çıkış akışı stderr ile ilişkilidir.

clogve cerrher ikisi ile ilişkilidir stderr, ancak cerrakışların clogarabelleğe alınması ve otomatik olarak bağlanmaması bakımından farklıdır cout.

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.

cloggenellikle günlük kaydı amacıyla kullanılır. Kritik olmayan olay günlüğü için, verimlilik daha önemlidir, bu nedenle clogcerrah yerine tercih edilir.

tıkanma beyanı

 harici ostream tıkanıklığı;

Başlık dosyasında "> başlık dosyasında tanımlanır.

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

Tıkanıklıktaki "c", "karakter" anlamına gelir, dolayısıyla tıkanma "karakter günlüğü" anlamına gelir.

Clog nesnesi, bir karakter akışını görüntülemek için ekleme operatörü (<<) ile birlikte kullanılır. Genel sözdizimi şöyledir:

 tıkanmak << varName;

veya

 tıkanma << "Bazı Dizeler";

Ayıklama operatörü değişkenler, dizeler ve manipülatörlerin bir kombinasyonuyla birden fazla kullanılabilir (örneğin endl):

 clog << var1 << "Bazı Dizeler" << var2 << endl;

Örnek: Clog nasıl çalışır?

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

Bu programda, günlük verilerinin akışı için clog kullanılır çünkü bu durumda hata uygulama için kritik değildir. Dolayısıyla tamponlu tıkanma çıktısının kullanılması daha verimlidir

Programı çalıştırdığınızda, çıktı şu olacaktır (dosyayı açarken bir hata varsa):

 Data.txt dosyasını açarken hata

Ilginç makaleler...