我想复制一个文件,使用 open、read、write 和 lseek 跳过它的前 n 行和最后 m 行(例如 n = 1,m = 2,源文件:
AAAAAAA
BBBBBBB
CCCCCCC
DDDDDDD
目标文件:
BBBBBBB)
我知道如何复制文件,但不知道如何跳过这些行。这是我的复制代码:
char buf[128];
size_t size;
int source = open(argv[1], O_RDONLY);
int dest = open(argv[2], O_CREAT | O_APPEND | O_WRONLY);
if(source == -1) {
printf("error");
return;
}
if(dest == -1) {
printf("error");
return;
}
while((size = read(source, buf, sizeof(buf))) > 0) {
write(dest, buf, size);
}
close(source);
close(dest);
我怎么解决这个问题?