ページ 1 / 1
漢字弾幕の警告「'fopen' の宣言を確認してください」がとれない
Posted: 2009年8月30日(日) 05:09
by 坂本
漢字弾幕のところについてですが
'fopen' の宣言を確認してください。
と警告が表示するのですが、
警告が消せなくて困ってます。
どうしたら消えるのでしょうか?
何を追加したら消えるか教えていただけたら幸いです。
//文字弾幕の弾座標データロード(53)
int load_font_dat(char name[64], BlPoint_t *Bp){
char fname[128];
FILE *fp;
sprintf_s(fname,"../dat/font/%s.dat",name);//受け取ったファイル名をパスに入れる
fp = fopen( fname , "rb" );//そのパスとファイル名を使ってファイルを開く
if( fp == NULL )
return -1;
fread( Bp, sizeof(BlPoint_t), 1, fp );
fclose(fp);
return 0;
}
//文字弾幕の弾座標データロード(53)
int load_AA_dat(char name[64], BlAAPoint_t *Bp){
char fname[128];
FILE *fp;
sprintf_s(fname,"../dat/font/%s.dat",name);//受け取ったファイル名をパスに入れる
fp = fopen( fname , "rb" );//そのパスとファイル名を使ってファイルを開く
if( fp == NULL )
return -1;
fread( Bp, sizeof(BlAAPoint_t), 1, fp );
fclose(fp);
return 0;
}
Re:漢字弾幕の警告「'fopen' の宣言を確認してください」がとれない
Posted: 2009年8月30日(日) 08:29
by conio
特定の警告を無視する命令を出しておけば、警告は消えると思います。
で、その命令というのが「#pragmaディレクティブ」です。
どの警告を表示させなくするかを指定する事が出来ます。
↓これを、ソースの初めの方にでも追加してみてください。
----------------------------------
#pragma warning( disable : 4996 )
----------------------------------
ただ、何でもかんでも警告を消してしまうとよろしくないので、
そこら辺は、自分の書いたコードに応じて考える必要があると思います。
Re:漢字弾幕の警告「'fopen' の宣言を確認してください」がとれない
Posted: 2009年8月30日(日) 15:41
by 御津凪
そこの警告は fopen の代わりに fopen_s を使用することを推薦するような文が前の行に出ているはずですので、
fopen 関数をその英文内に書かれている fopen_s 関数に代えれば消えるはずです。
(引数と戻り値が違うことに注意)
sprintf_s 関数をすでに使っているので、セーフティ関数への変更を推薦する警告文を消すのは余りよろしくないと思うので、どちらか(セーフティ関数にすべて代えるか一切使わないか)に統一した方がいいでしょう。
Re:漢字弾幕の警告「'fopen' の宣言を確認してください」がとれない
Posted: 2009年8月30日(日) 20:47
by 坂本
>御津凪さん
えと、すなわちどうすればいいのでしょうか?
fopenをfopen_sに置き換えても
error C2660: 'fopen_s' : 関数に 2 個の引数を指定できません。
という、今度は警告ではなくエラーが返ってくるのですが
Re:漢字弾幕の警告「'fopen' の宣言を確認してください」がとれない
Posted: 2009年8月30日(日) 20:57
by kazuoni
時には検索することも重要かと思います。
msdn
ttp://msdn.microsoft.com/ja-jp/library/z5hh6ee9(VS.80).aspx
Re:漢字弾幕の警告「'fopen' の宣言を確認してください」がとれない
Posted: 2009年8月30日(日) 20:57
by 御津凪
fopen_s 関数は、 fopen 関数とは引数、戻り値共に違います。
上記のコードから変更する場合は、
//そのパスとファイル名を使ってファイルを開く
if( fopen_s( &fp , fname , "rb" ) != 0)
return -1;
のようにしてください。
詳しいことは関数名で検索すれば見つかります。
Re:漢字弾幕の警告「'fopen' の宣言を確認してください」がとれない
Posted: 2009年8月30日(日) 21:11
by 坂本
>御津凪さん
警告が無事とれました。
なるほど。
引数を3つ入れるやり方が分からなかったので助かりました。勉強になります。
ありがとうございました。