У меня есть следующий код, работающий на Suse 10.1/G ++ 4.1.0, и не записывать в файл:ofstream не смывать
#include <fstream>
#include <iostream>
int main(){
std::ofstream file("file.out");
file << "Hello world";
}
Файл правильно создан и открыт, но пусто. Если изменить код на:
#include <fstream>
#include <iostream>
int main(){
std::ofstream file("file.out");
file << "Hello world\n";
}
(добавить \n
к тексту), он работает. Я также попытался промыть поток, но это не сработало.
Любые предложения?
Как проверить полученный файл? – log0
Программа Debian/Sid с g ++ 4.4.4 работает так, как ожидалось, и file.out содержит строку (без новой строки). Попробуйте обновить свой компилятор или ОС - оба устарели. – Dummy00001
Как вы проверяете, является ли файл пустым?Сделайте это в результирующем файле: wc и посмотрите, что это такое. Он должен быть 0 2 11. 0 строк, 2 слова, 11 символов. Без новой строки выход «Hello world» будет запущен в ваше приглашение, так что вам может просто не хватать его. –