我有一个程序,我在32位和64位编译正常。但是当我运行64位版本时,我的结果是错误的。尝试使用fread从stdin读取输入导致64位读取比32位读取少0x400。是因为使用malloc分配的缓冲区不够大吗?
.....
static char *buffer;
int size;
.....
buffer = malloc(size);
if ((fread(buffer, 1, size, in) != size)
fprintf(stderr, "not read completely\n");
else
fprintf(stderr, "input completely read\n");
.....