[英]Buffer size and reading from a file
我已經問過一個類似的問題,但我認為現在的問題有所不同。我在Eclipse,Linux機器上用C語言編寫。
我需要讀取測試文件,並每次嘗試使用不同的緩沖區大小...如果緩沖區的大小太小,我知道我需要在緩沖區上運行幾次,但是我不確定如何執行此操作...
這是我的代碼(當即時消息在大小為67108864的緩沖區上運行時,我遇到了分段錯誤。*我編輯了代碼
int main(void)
{ int fd;
char* buff = malloc (67108864);
if (buff){
fd = open("testfile.txt", O_RDONLY);
if (fd >= 0) {
while (read(fd,buff,67108864)!=0){}
close(fd);
}
}
free(buff);
return 0;
}
刪除*
,您要聲明一個指針數組,但是需要一個字符數組。
char buff[67108864];
我不確定67108864
堆棧太大了。 嘗試使其在堆上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.