web-dev-qa-db-ja.com

エラー「fopen」を取得:この関数または変数は安全ではない可能性があります。コンパイルするとき

コンパイル時にこのエラーが表示されます。

'fopen': This function or variable may be unsafe. 
Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.

私はC++を初めて使用し、CVを開くので、このエラーを取り除くのを手伝ってください。

ありがとう

void _setDestination(const char* name)
{
    if (name==NULL) {
        stream = stdout;
    }
    else {
        stream = fopen(name,"w");
        if (stream == NULL) {
            stream = stdout;
        }
    }
}
20
SeverusSwan

これはエラーではなく、Microsoftコンパイラからの警告です。

プロジェクトを選択し、コンテキストメニューの[プロパティ]をクリックします。

ダイアログで、Configuration Properties-> C/C++-> Preprocessorを選択しました

PreprocessorDefinitionsフィールドに;_CRT_SECURE_NO_WARNINGSを追加して、これらの警告をオフにします。

67
nvoigt

これは通常の警告です。無効にすることができます

#pragma warning(disable:4996)

または、Microsoftが意図したようなfopen_sを使用します。

ただし、他のヘッダーの前にプラグマを使用してください。

9
Blacktempel