Я использую 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 цифр после десятичной точки. Я прав?