224

scanf() などの関数を使用するときに表示されるプリコンパイラの安全な警告を削除するすべてのプロジェクトに対して、デフォルトで設定する方法はありますか。#define _CRT_SECURE_NO_WARNINGSプロジェクトオプションまたはコードの先頭に行を追加することでそれを実行できることがわかりました。

プログラミングコンテストを解決するために新しいプロジェクトを繰り返し作成していることに気づきました.

#ifdef _MSC_VER
#define _CRT_SECURE_NO_WARNINGS
#endif

コードの最初に、または新しいプロジェクトを開始するたびにプリコンパイラ オプションで設定します。

4

7 に答える 7

314

ソリューション エクスプローラーで目的のプロジェクトをすべてマークします。

Alt-F7 を押すか、ソリューション エクスプローラーで右クリックして [プロパティ] を選択します。

構成:すべての構成

Preprocessor Definitions 行をクリックして、そのエディターを呼び出します

[編集...] を選択します。

「_CRT_SECURE_NO_WARNINGS」を上部のプリプロセッサ定義ホワイト ボックスにコピーします。

ここに画像の説明を入力

于 2013-12-24T01:04:54.057 に答える
114

それは、私がまだ VS に慣れておらず、間違いなく C にも慣れていないためかもしれませんが、ビルドを可能にした唯一のことは、追加することでした。

#pragma warning(disable:4996)

ファイルの先頭で、これにより、sprintf で発生していた C4996 エラーが抑制されました

少し面倒ですが、私の小さなコードには最適で、はるかに簡単です。

私はそれについてここで読みました: https://msdn.microsoft.com/en-us/library/2c8f766e.aspx

于 2015-09-15T01:57:29.310 に答える
-1

プロジェクトで stdafx.h を使用しない場合は、次の行を .cpp ファイルの最初の行として配置すると、コンパイラの警告が消えるはずです。少なくとも、Visual Studio C++ 2008 ではそうでした。

#ifdef _CRT_SECURE_NO_WARNINGS
#undef _CRT_SECURE_NO_WARNINGS
#endif
#define _CRT_SECURE_NO_WARNINGS 1

それらの前にコメントや空白行があっても問題ありません。

于 2019-01-02T22:45:03.250 に答える