Когда я пытаюсь перезаписать существующий файл, я получаю сообщение об ошибке «Отказано в доступе».Я заметил, что для файла, который создается, установлен атрибут «Только для чтения».Когда я вручную отключаю это, я могу перезаписать файл.Есть ли какой-нибудь флаг, который я могу передать open (), который будет автоматически сбрасывать это при создании файла?
Ниже приведен простой пример, который иллюстрирует проблему.Первый запуск работает, но второй выдает ошибку «Отказано в доступе».
Спасибо, Зак (новичок в MingW / Windows 7)
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <fcntl.h>
#include <errno.h>
int main(int argc, char ** argv) {
int fid;
double data = 12.0;
if ( (fid = open("junk.data", O_WRONLY | O_CREAT | O_BINARY)) == -1 ) {
printf("ERROR opening.\n\terror is:%s\n", strerror(errno));
return 1;
}
write(fid, &data, sizeof(double));
close(fid);
return 0;
}