VC++2010を使っているとsscanfなどを使うと_sを最後につけたものを
使えと警告が出ます。
セキュリティ面?でも_sがついているほうがいいらしいのでVC++では
_s付きを普段使っています。
今回
という部分でエラーが出ました。
コンパイルは通るのですが実行時に強制終了し
ウィンドウズのエラーを送信するとかのダイアログが出てきます。
デバッグ有りで実行してみるとハンドルされていない例外で
アクセス違反と出ます。
使い方は間違っていないと思うのに何度やってもエラーが出るため
_sをはずしたsscanfにしてみました。
するとエラーが出ず正常に動作します。
_s付きだとエラーになる原因って何なのでしょうか?
sscanfとsscanf_s
Re: sscanfとsscanf_s
sscanf_sとsscanfでは引数が違うようですね
これ以外にもセキュリティ強化されている差分的な関数は引数が変わっていたりするので注意してくださいね
対処法などはこちらに参考にしてください
http://soundengine.jp/services/tips/?date=2007-02-05
これ以外にもセキュリティ強化されている差分的な関数は引数が変わっていたりするので注意してくださいね
対処法などはこちらに参考にしてください
http://soundengine.jp/services/tips/?date=2007-02-05
♪僕たちは まだ森の中 抜け出そう 陽のあたる場所へ
-
zxzy
Re: sscanfとsscanf_s
VC++で引数書いているときに表示されるものは
int sscanf(const char *_Src,const char *_Format,...)
int sscanf_s(const char *_Src,const char *_Format,...)
で同じだったので変わりないと思っていたのですが
ここでは見れない部分が変わっていたのですね。
ありがとうございました。
int sscanf(const char *_Src,const char *_Format,...)
int sscanf_s(const char *_Src,const char *_Format,...)
で同じだったので変わりないと思っていたのですが
ここでは見れない部分が変わっていたのですね。
ありがとうございました。