C ++ 'daki clog nesnesi, ostream sınıfının bir nesnesidir. Standart C hata çıkış akışı stderr ile ilişkilidir.
clog
ve cerr
her ikisi ile ilişkilidir stderr
, ancak cerr
akışların clog
arabelleğ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.
clog
genellikle günlük kaydı amacıyla kullanılır. Kritik olmayan olay günlüğü için, verimlilik daha önemlidir, bu nedenle clog
cerrah yerine tercih edilir.
tıkanma beyanı
harici ostream tıkanıklığı;
Başlık dosyasında "> başlık dosyasında tanımlanır.
clog
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. clog
baş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