警告が・・・

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
夏天

警告が・・・

#1

投稿記事 by 夏天 » 18年前

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:警告が・・・

#2

投稿記事 by 管理人 » 18年前

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
を書いてください。
これをインクルード文の前に書く事で警告が消えます。

夏天

Re:警告が・・・

#3

投稿記事 by 夏天 » 18年前

そういうことだったんですか
とてもわかりやすい説明ありがとうございます!!
この警告が出ていたせいで見にくかったんですよ
直してみます

夏天

Re:警告が・・・

#4

投稿記事 by 夏天 » 18年前

アイコン間違ってました・・・

閉鎖

“C言語何でも質問掲示板” へ戻る