Fread函数没有读取整个文件

时间:2018-04-01 17:31:46

标签: c file fread

嘿伙计们我需要从文件中读取内容并将其放入缓冲区,所以我使用fread函数。我的代码是:

duzina = configs[i].lenght * 1048576;
printf("Duzina %d[B]: %d\n",i+1,duzina);
printf("Duzina %d[MB]: %d\n",i+1,duzina/1048576);
printf("Duzina %d[B]: %d\n",i+1,duzina);
ukupna_duzina = ukupna_duzina + duzina;
printf("Ukupna duzina[B]: %d\n",ukupna_duzina);
printf("Ukupna duzina[MB]: %d\n",ukupna_duzina/1048576);

procitano[i] = fread(buffers[i],1,duzina,fp);
printf("Procitano %d[B]\n",procitano[i]);

perror("PERROR KAZE: ");
fseek(fp,ukupna_duzina,SEEK_SET);

在终端中,我得到duzina的正确大小,2,097,152B,perror返回no_error,但procitano[i]类型的size_t给了我2 064 384 B.此外,当我打开文件时,我需要阅读他的尺寸是好的 - > 2,097,152B。那么发生了什么?

console output

1 个答案:

答案 0 :(得分:0)

是的,我在r +模式下打开文件,而不是rb :(谢谢你男人