Вы делаете слишком много.
std::ofstream file ("hello.txt");
Эта строка создает ofstream и открывает ее для записи. Когда поток открыт для записи, его содержимое на диске очищается!
file << "Hello There!";
Это похоже на печать чего-либо в ofstream. Обычно он сохраняется в буфере, который еще не сохранен на диске или не отображается на экране. (Чтобы действительно что-то сохранить на диск, вам нужно endl
, flush
или закрыть файл. Файл закрывается, когда заканчивается блок, в котором он был открыт, или когда вы закрываете его явно.)
file.open("hello.txt"); //line 6
Вы снова открываете файл для вывода, освобождая его содержимое на диске и освобождая буфер.
}
все, что находится в буфере, сохраняется на диск. Но в буфере ничего нет, потому что вы снова открыли файл!
Вы должны удалить строку 6.