ファイルの読み込みサイズ – プログラミング – Home

ファイルの読み込みサイズ
 
通知
すべてクリア

[解決済] ファイルの読み込みサイズ


ワカメ
 ワカメ
(@ワカメ)
ゲスト
結合: 19年前
投稿: 10
Topic starter  

ファイルの内容を取り込みたく、以下のようにしました。
しかし、内容は取り込めてそうなのですが、
size変数に0が入ります。MSDNでは実際に読み取った
サイズが入ると書いているようですがなぜでしょうか?
実際に読み取ったサイズを得る方法は他にありますか?
環境はXP&VC2003です。

char buf[500000];
FILE *fp;
int size;

fp = fopen(foo.bin, rb);//ファイルサイズは200kbくらい
size = fread(buf, sizeof(buf), 1, fp);
fclose(fp);


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

> MSDNでは実際に読み取ったサイズが入ると書いているようですがなぜでしょうか?

そんなこと一言も書いてありません。

fread(格納場所,項目のサイズ,読み出す最大項目数,ファイル)
の戻り値は正しく読めた項目数となります。

size = fread(buf, sizeof(buf), 1, fp);
これは ひとつ500000バイトの項目を1項目読めってことですから、
ファイルが500000バイトに満たなければ「正しく読めた項目数はゼロ」です。


返信引用
ワカメ
 ワカメ
(@ワカメ)
ゲスト
結合: 19年前
投稿: 10
Topic starter  

なるほど…
size = fread(buf, 1, sizeof(buf), fp);
こうしたら出来ました

ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました