プロが教えるわが家の防犯対策術!

至急お願いします。C言語で.imgのファイルを読み込んで1バイトづつ出力するプログラムを作りたいのですが、fgetcで1バイトづつ配列に代入し、それを出力すると244個目の数字から全て-1が出力されてしまいます。Javaで同様のプログラムを実行すると244個目以降もちゃんとファイル内の数字が出力されるので、何が問題なのでしょうか。

質問者からの補足コメント

  • 配列はint d[2880*512];にしています

      補足日時:2023/01/16 22:56

A 回答 (3件)

ソースコードを提示していただければ、良い回答が得られやすくなるかと。


ソースコードを提示してはいかがでしょうか。
    • good
    • 0

>244個目の数字から全て-1が出力されてしまいます


244文字目がEOFコードなのでは?

バイナリでファイルオープンしましたか?

X  fp = fopen("xx.img","r");
〇 fp = fopen("xx.img","rb");

http://rainbow.pc.uec.ac.jp/edu/program/b1/Ex7-1 …
    • good
    • 0

配列のサイズが小さいのでは?

    • good
    • 0
この回答へのお礼

sizeof(配列)は5898240になってます

お礼日時:2023/01/16 23:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!