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桁までは良いと思います。私は正しいですか?