fopen / fopen_s и запись в файлы
Я использую fopen в C, чтобы записать вывод в текстовый файл. Объявление функции (гдеARRAY_SIZE
был определен ранее):
void create_out_file(char file_name[],long double *z1){
FILE *out;
int i;
if((out = fopen(file_name, "w+")) == NULL){
fprintf(stderr, "***> Open error on output file %s", file_name);
exit(-1);
}
for(i = 0; i < ARRAY_SIZE; i++)
fprintf(out, "%.16Le\n", z1[i]);
fclose(out);
}
Мои вопросы:
При компиляции с MVS2008 я получаю предупреждение: предупреждение C4996: «fopen»: эта функция или переменная может быть небезопасной. Попробуйте вместо этого использовать fopen_s. Я не вижу много информации оfopen_s
так что я могу изменить свой код. Какие-либо предложения?
Можно ли проинструктироватьfprintf
писать числа с желаемой точностьюв файл? Если я используюlong double
тогда я предполагаю, что мои ответы хороши до 15 цифр после десятичной точки. Я прав?