Supongamos que se crea un archivo para escribir así:¿Qué permisos tiene un archivo escrito con fstream?
std::ofstream my_file("filename", std::ios_base::out | std::ios_base::trunc);
¿Cómo están los permisos de este fichero determinado? He tenido un programa ejecutándose durante la noche generando archivos una vez por minuto, algunos son 0644 pero otros son 0660, y no hay nada en mi código que deba cambiarlo. (He visto que algunas implementaciones permiten que un tercer argumento establezca los permisos del archivo; estoy usando gcc 4.1.2, que no parece ser compatible con esto).
Como han dicho otros, los atributos dependen de umask. Como dijo que su código no modifica los atributos del archivo, quizás otras aplicaciones lo hagan? – PeterK
Ok, eso tiene sentido, no estoy seguro de lo que mi programa estaba haciendo, pero lo vigilaré en caso de que vuelva a suceder. – jrb
Ví mi "problema" original de nuevo: creo que fue causado por compilar y ejecutar mi aplicación contra versiones ligeramente diferentes de la misma biblioteca compartida, que estaba comenzando a causar que sucedieran otras cosas raras. Todavía creo que la pregunta vale la pena preguntar :) – jrb