04 01 00 00
・
・
・
というfwrite関数で書きだしたbinファイルを読みたいのですが
printfのデバッグを見ると1度目は上手く読み込まれたのですが、二回目から意図しない処理になってしまいました。
今回以外にもfread関数を使っていて意図しない処理になってしまうことがあるので困っています。
1回目は正常に読み込まれるのに二回目からおかしくなるのはどうして?
回答していただけると助かります。
/* デバッグ結果 */
main:tmp[0] = 4
main:tmp[1] = 0
main:tmp[2] = 0
main:tmp[3] = 0
main:05
main:tmp[0] = 104
main:tmp[1] = 0
main:tmp[2] = 0
main:tmp[3] = 0
main:05
main:tmp[0] = 204
main:tmp[1] = 0
main:tmp[2] = 0
main:tmp[3] = 0
/* デバッグ結果 */
int main(int argc, char *argv[])
{
FILE *fp = 0;
int tmp[4] = {0};
/* ファイルオープン */
open_bin(&fp, argc, argv);
/* データが読み込める間ループ */
while (fread(tmp, sizeof(char), 4, fp) > 0) {
/*debug*/printf("main:tmp[0] = %2x\n", tmp[0]);
/*debug*/printf("main:tmp[1] = %2x\n", tmp[1]);
/*debug*/printf("main:tmp[2] = %2x\n", tmp[2]);
/*debug*/printf("main:tmp[3] = %2x\n", tmp[3]);
}
return 0;
}