Файловый вывод и endl в c++
#include <iostream>
#include <fstream>
int main()
{
std::ofstream oo{"qwer.h"};
oo << "hello 1" << std::endl;
std::ifstream ff{"qwer.h"};
std::string ss;
while(ff)
{
ff >> ss;
if(ff.eof())
break;
std::cout << ss << std::endl;;
}
return EXIT_SUCCESS;
}
Результат:
hello
1
Но если я поменяю oo << "hello 1" << std::endl; на oo << "hello 1" << '\n'; или oo << "hello 1";, то ничего не выведется. Вопрос почему ?
P.S
Знаю, что может помочь oo << "hello 1" << std::flush;, но во-первых так выводится только hello, во вторых если бы строка выглядела бы так oo << "hello" << std::flush; (единица отсутствует),то точно так же никакого вывода не было бы, а в третьих всё равно не понимаю почему вышеприведенные варианты не работают.