Bruce. です。
#誰か386BSD以降のUNIXの歴史を纏めているものがあったら教えてください。
#特に、FreeBSDとNetBSDの分裂?の経緯について
閑話休題。
davi さんは書きました:
> 以下の部分が問題のようです。
>
> POS read_txt(unsigned short *buf, char* file)
> {
> FILE *fp;
> int c, c2;
> POS count;
>
> File_Name = file;
> Line_No = 1;
>
> fp = fopen(file, "rb");
> if (fp == NULL)
> error(ERR_READ);
>
> for hogehoge {
> 式は省略
> }
> fclose(fp);
>
> File_Name = NULL;
>
> return count;
> }
>
> こんな感じなんですが、
>
> fp = fopen(file, "rb");
>
> の所で
>
> warning C4996: 'fopen': This function or variable may be unsafe.
> Consider using fopen_s instead.
> To disable deprecation, use _CRT_SECURE_NO_WARNINGS.
> See online help for details.
>
> というエラーが出ます。
いや“warning”ですし、これはとりあえずは放置しても害はないはずです。
> そこで、コードの1行目(色んな#include宣言よりももっと前)に
>
> #define _CRT_SECURE_NO_WARNINGS
>
> と記述したのですが、それでもコードのずっと前の所の
>
> char ERR_READ[] =
>
> で宣言している「A 1 行目: ファイルが見つかりません.」という
> エラーが出て、動かないようです。
> "rb"を"r"にしてもダメでした。
>
> なお、ファイル名はコマンドラインから2つ与える作りのようです。
このエラーはビルドの結果できた実行ファイルを実行したときのエラーですよね?
fopenに渡されてきているパラメーターの問題ではないでしょうか。
あー、あれだ、プロジェクトがUNICODEビルドになってませんか?
確か2003→2005でデフォルトビルドの文字コードの扱いが変わっているはずです。
--
木村浩一/KIMURA Koichi
I thought what I'd do was, I'd pretend I was one of those deaf-mutes or
shoud I?
mail kbk at kt.rim.or.jp
web www.kt.rim.or.jp/~kbk/zakkicho/index.html