質問があります:
fread を使用してファイルを読み取っています。
typedef struct {
int ID1;
int ID2;
char string[256];
} Reg;
Reg *A = (Reg*) malloc(sizeof(Reg)*size);
size = FILESIZE/sizeof(Reg);
fread (A, sizeof(Reg), size, FILEREAD);
ループを使用してこの呼び出しを連続して呼び出し、ファイル全体を読み取らせます。
ファイルの終わり近くに来て、"size" * sizeof (Reg) を読み取れない場合、またはこの量の半分しか読み取ることができない場合、配列 A はどうなりますか。完了?関数はエラーを返しますか?
ファイルがフレッドスルーによってどのように読み取られたかを知っていますか?
Edi1:正確に、分割が正確でない場合、ファイルにないものを読み取る最後の少し小さいファイル サイズを読み取るときに、読み取り可能なバイト数にベクトルのサイズを変更することを考えています。またはより良いダイナミクスを開発します。