Не знаю, пытался ли ты это сделать, но ты должен сделать:
file << "Hello World" << std::flush;
Обновление ; Я оставляю этот ответ здесь из-за полезных комментариев
На основе отзывов я изменю свой совет: вам не нужно явно вызывать std::flush
(или file.close()
в этом отношении), потому что деструктор сделает это за вас.
Кроме того, вызов flush явно вызывает операцию ввода-вывода, которая может быть не самым оптимальным способом. Откладывание на базовые iostreams и операционную систему будет лучше.
Очевидно, что проблема OP не была связана с вызовом или не вызовом std::flush
, и, вероятно, была связана с попыткой прочитать файл до вызова деструктора файлового потока.