C/C++ " \n " ile " endl " arasındaki fark nedir?

Seemih

Picopat
Katılım
14 Ağustos 2023
Mesajlar
303
Daha fazla  
Cinsiyet
Erkek
Evet, " \n " ile " endl " arasındaki fark nedir? Bu ikisinde de bir alt satıra geçiyor.
 
Son düzenleyen: Moderatör:
C++ için soruyorsunuz gibi. std::endl std::flush'ı çağırıyor. Sabah akşam kullanılmamalı. Mesela dosyaya yazarken.

Şunlar eşit diyebiliriz.
Kod:
std::cout << std::endl;
std::cout << '\n' << std::flush;
Evet c++ için diyorum dediğinizden bir şey anlamadım yazılıma yeni başladım benim sormak istediğim ikisinde de kodu çalıştırınca bir alt satıra geçmesi yani aynı şeyi yapıyorlar neden iki farklı kod var aynı şey için? Cevabınız için teşekkürler

C++ için soruyorsunuz gibi. std::endl std::flush'ı çağırıyor. Sabah akşam kullanılmamalı. Mesela dosyaya yazarken.

Şunlar eşit diyebiliriz.
Kod:
std::cout << std::endl;
std::cout << '\n' << std::flush;
Sanırım flush kısmına geldiğimizde dediğinizi daha iyi anlayacağım
 
Aynı şey değiller. Birisi çıktıya \n karakterini koyuyor. Diğeri ise koyup flush ediyor. Buffer'ı boşaltıyor. Buffer boşalınca boşaldığı yer son boşalmadan itibaren yazılan şeyleri alıp koyuyor. Yani bir dosyaya satır satır yazarsanız std::endl kullandığınızda işletim sistemi her satırı gerçekten gidip dosyaya yazıyor. Bu da yavaşlık demek.
 

Geri
Yukarı