私はすでに同様の質問をしましたが、今は問題が違うと思います。私は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;
}