Rozdil mezi endl a \n – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Rozdil mezi endl a \n – C / C++ – Fórum – Programujte.comRozdil mezi endl a \n – C / C++ – Fórum – Programujte.com

 

MyName
~ Anonymní uživatel
4 příspěvky
21. 5. 2015   #1
-
0
-

Ahoj chtel bych se zeptat  v podstate na rozdil mezi endl a \n.

Nasel jsem : http://stackoverflow.com/questions/213907/c-stdendl-vs-n

,ale moc nerozumim co presne znamena " flushes the output buffer "

predem dekuju za odpoved.

Nahlásit jako SPAM
IP: 94.113.228.–
PiranhaGreg0
Stálý člen
21. 5. 2015   #2
-
0
-

Ahoj, mějme následující kód 

#include <fstream>

using namespace std;

int main(void) {
	ofstream file("test.txt", ofstream::out);
	int * p = NULL;

	file << "ahoj\n";

	file << *p;
	return 0;
}

Když ho spustíš, skončí segfaultem a soubor test.txt bude pravděpodobně prázdný. Když ten řádek s \n přepíšeš na verzi s endl 

file << "ahoj" << endl;

i přes pád programu by v souboru měl být celý zapsaný text až po poslední endl. Ten totiž kromě přidání odřádkování ještě zavolá funkci flush, která ihned zapíše všechno z interního bufferu do souboru.

Nahlásit jako SPAM
IP: 2a00:1028:9942:b69e:de2:9...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 52 hostů

Podobná vlákna

Rozdíl mezi C, C++ a C# — založil Murmand

Rozdíl mezi == a is — založil Ahoj3

Rozdil mezi class a id — založil Václav Žitek

Rozdíl mezi zápisy — založil Tomas

Rozdíl mezi 32 a 64 bit dll — založil hlucheucho

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý