STL ti tam (na platforme windows) namiesto \x0A práskne \x0D\x0A (skúšal som to pre istotu).
Tak to už je podraz.
Dalsi takovy, hosi mne z vas klepne.
V NORME jazyka C je definovane UMYSLNE, ze znak \n v TEXTOVEM modu znamena NOVY RADEK. Proto se da psat multiplatformne jednoduse:
printf("Hello\nWorld");
A vysledek bude na vsech systemech:
Hello
World
A nebude tam neco ve smyslu
Hello
World
nebo
Hello?World
Tohle bylo zavedeno umyslne, protoze hodne casto potrebujes proste vypsat neco po radcich a fakt te nezajima binarni reprezentace, ale to, jak to vizualne v danem systemu vypada.
Pokud chces binarne presnou reprezentaci, tak pouzivas BINARNI zapis (to je jedna z uplne prvnich veci kterou se snad clovek musi naucit o IO).
Konec radku je na ruznych systemech velmi ruzny:
CR, CRLF, LF, LFCR, dokonce mam pocit ze se na to pouzivaly i jine znaky z ASCII.
V dobe kdy C vznikal bylo toto zcela normalni a jazyk ktery neumi do konzole jednoduse vypsat 2 radky, je absurdne nemultiplatformni. Takze to ma velmi dobry duvod.