fopenでエラーが起きてしまう
ファイルの読み込みで、fopenを使うと思います。
しかし、VisualStudioでは、このようなエラーが起きてしまいました。
重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラーC4996’fopen’: This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
エラーC4996で、fopen
は安全じゃないかもしれないから、代わりにfopen_s
を使ってねーということです。
対処
エラーを回避する
始めにエラーを受け付けない方法です。
fopenでも使えるので問題ないと思います。
#pragma warning(disable : 4996)
ちなみに、研究室のプログラムがこのように書かれていました。
エラー指示に従う
Consider using fopen_s instead.
つまり、fopen_sを使いなさいよーということです。
これに従って、fopen_sを使っていきます。
#include <stdio.h> #include <iostream> #include <fstream> using namespace std; FILE *fp; errno_t error; void main(){ if ((error = fopen_s(&fp,"test.txt", "w")) == NULL) { printf("ファイルオープンエラー"); exit(EXIT_FAILURE); } fprintf(fp, "HelloWorld¥n"); fclose(fp); }
fopenとfopen_s - (void*)Pないと...
このサイトを参考にしました。
解決
上記のプログラムのように、書き換えることで、エラーは出なくなります。
fopen
やfopen_s
を使うときは、上のように、例外処理で記述した方がいいですね。