是不是可以讀取小於緩衝區大小的文件中剩餘的字節?C - 如果緩衝區較大,如何處理文件的最後部分?
char * buffer = (char *)malloc(size);
FILE * fp = fopen(filename, "rb");
while(fread(buffer, size, 1, fp)){
// do something
}
我們假設size是4,文件大小是17字節。我認爲即使留在文件中的字節小於緩衝區大小,fread也可以處理最後一次操作,但顯然它只是在while循環結束時不讀取最後一個字節。
我試圖使用較低的系統調用read(),但由於某種原因我無法讀取任何字節。
如果fread無法處理小於緩衝區大小的字節的最後部分,該怎麼辦?
啊我濫用了這兩個論點......!謝謝 – REALFREE