Предположим, что я создаю файл для записи как это:
std::ofstream my_file("filename", std::ios_base::out | std::ios_base::trunc);
Как полномочия этого файла определены? У меня была программа, выполняющая в течение ночи генерацию файлов об однажды минуте - некоторые 0644, но другие 0660, и нет ничего в моем коде, который должен заставить ее измениться. (Я видел, что некоторые реализации позволяют третьему аргументу устанавливать полномочия файла - я использую gcc 4.1.2, который, кажется, не поддерживает это).
attrs по умолчанию устанавливаются командой umask
. это не объясняет изменения attrs ваших файлов, но все же может быть полезно для вас