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.
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.
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.
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku