从stdin读取 - 32位与64位

时间:2015-03-13 16:19:54

标签: c 64-bit

我有一个程序,我在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");
.....

0 个答案:

没有答案