我已经问过一个类似的问题,但我认为现在问题不同了。我在 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;
}