[英]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.