Вот как я открываю файл для записи+:
if( fopen_s( &f, fileName, "w+" ) !=0 ) {
printf("Open file failed\n");
return;
}
fprintf_s(f, "content");
Если файл не существует, операция открытия завершится неудачно. Каков правильный способ fopen
, если я хочу создать файл автоматически, если файл еще не существует?
EDIT: если файл существует, я бы хотел, чтобы fprintf перезаписывал файл, а не добавлял к нему.
w+
уже является правильным режимом: он приводит к открытию пустого файла как для чтения, так и для записи, независимо от того, существует ли файл уже. Вы хотите посмотреть на ненулевое возвращаемое значение изfopen_s()
, чтобы понять, почему вызов не удался. Если вам не нужен произвольный доступ (а вы, вероятно, не нуждаетесь), используйте толькоw
для режима. - person RBerteig   schedule 27.12.2010