stdio.hとstring.hを使っているとき
下の警告が消えてくれません
どうしたら消えるのでしょうか・・・
――――――――――――――――――――――――――――――――――――――――――――――――
c:\program files\microsoft visual studio 8\vc\platformsdk\include\mmreg.h : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してください。
c:\documents and settings\tenka\デスクトップ\課題研究\marubatu\main.cpp(55) : warning C4996: 'fopen' が古い形式として宣言されました。
c:\program files\microsoft visual studio 8\vc\include\stdio.h(234) : 'fopen' の宣言を確認してください。
メッセージ: 'This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
c:\documents and settings\tenka\デスクトップ\課題研究\marubatu\main.cpp(62) : warning C4996: 'fscanf' が古い形式として宣言されました。
c:\program files\microsoft visual studio 8\vc\include\stdio.h(249) : 'fscanf' の宣言を確認してください。
メッセージ: 'This function or variable may be unsafe. Consider using fscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
警告が・・・
Re:警告が・・・
mmreg.hの警告は私のところでもでます。
これはこのファイルの一部注釈内にUnicodeでない形式の文字が含まれている事が原因のようです。
文字コードの変換の出来るエディタなど(例えばxyzzy等http://www.jsdlab.co.jp/~kamei/)
で
c:\program files\microsoft visual studio 8\vc\platformsdk\include\mmreg.h
を開き、Unicodeで上書き保存してください。
また、それ以下の警告は、「もっとセキュリティの高い関数があるからそっち使ってくださいよ」ということです。
例えばfopen関数はfopen_s関数という、同じ機能を持つもっとセキュリティの高い関数があります。
この辺参考にしてください。
http://msdn2.microsoft.com/ja-jp/library/z5hh6ee9(VS.80).aspx
マイクロソフトはこのような入門時に習うような関数ではなく、もっとセキュリティの高い関数を使って欲しいと促進しているので、このような警告を吐きます。
しかし、今まで使い慣れた関数を使い続けたいというのであればプログラムの一番最初に
#define _CRT_SECURE_NO_WARNINGS
を書いてください。
これをインクルード文の前に書く事で警告が消えます。
これはこのファイルの一部注釈内にUnicodeでない形式の文字が含まれている事が原因のようです。
文字コードの変換の出来るエディタなど(例えばxyzzy等http://www.jsdlab.co.jp/~kamei/)
で
c:\program files\microsoft visual studio 8\vc\platformsdk\include\mmreg.h
を開き、Unicodeで上書き保存してください。
また、それ以下の警告は、「もっとセキュリティの高い関数があるからそっち使ってくださいよ」ということです。
例えばfopen関数はfopen_s関数という、同じ機能を持つもっとセキュリティの高い関数があります。
この辺参考にしてください。
http://msdn2.microsoft.com/ja-jp/library/z5hh6ee9(VS.80).aspx
マイクロソフトはこのような入門時に習うような関数ではなく、もっとセキュリティの高い関数を使って欲しいと促進しているので、このような警告を吐きます。
しかし、今まで使い慣れた関数を使い続けたいというのであればプログラムの一番最初に
#define _CRT_SECURE_NO_WARNINGS
を書いてください。
これをインクルード文の前に書く事で警告が消えます。