「言語拡張機能を無効にする」を設定すると、特定の言語機能が削除されるだけです。これらの機能のリストは、こちらです。
ただし、Microsoft が提供する追加機能は言語機能ではありません。それらは、使用したい場合に存在するオプションの機能にすぎません。その設定によって無効になることはありません。_s の接尾辞が付いた標準関数のセキュア バージョンは、このカテゴリに属します。
そうは言っても、ヘッダーの scanf_s の定義に移動すると、Microsoft がこの特定の関数ファミリを無効にする方法を提供していることがわかります。
ヘッダー #includes の前にコードで次を定義すると、
#define __STDC_WANT_SECURE_LIB__ 0
その場合、scanf_s はコンパイルされなくなります。
コンパイラ スイッチを使用してこれを実現する場合は、プロジェクトのプロパティに移動し、プリプロセッサの定義を見つけます。次の定義を末尾に追加します。
__STDC_WANT_SECURE_LIB__#0
おそらく、「標準」C の一部ではない他の追加の Microsoft 機能を無効にする同様の方法を見つけることができます。