У меня есть программа, которая записывает свой вывод, используя ofstream. Все отлично работает в Windows при компиляции с Visual Studio, но записывает пустой файл только в Linux при компиляции с GCC.
ofstream out(path_out_cstr, ofstream::out);
if(out.bad()){
cout << "Could not write the file" << flush;
}
else{
cout << "writing";
out << "Content" << endl;
if(out.fail()) cout << "writing failed";
out.flush();
out.close();
}
Каталог, в который выполняется запись, имеет права 0777.
Странная вещь: ничего не написано, но об ошибке не сообщается.
gcc --version: (Gentoo 4.3.4 p1.0, pie-10.1.5) 4.3.4
Я знаю, что код ДОЛЖЕН работать, поэтому мне больше нравится искать предложения, что может быть не так, чем прямое исправление кода.
РЕДАКТИРОВАТЬ: fwrite, похоже, дает сбой точно таким же образом (ничего не записано, не сообщается об ошибке).
РЕДАКТИРОВАТЬ: я представляю и GCC и программу по SSH в моем каталоге университета, если это может иметь какое-либо значение. У меня достаточно разрешений для извлечения и записи файлов (ls.> Out.txt работает нормально), только у моей программы возникли проблемы.
Спасибо за помощь