我在C语言中使用fopen将输出写入文本文件。函数声明如下(其中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位之前是正确的。 我对吗?