gpt4 book ai didi

c - 使用 lseek 时不打印第一个字节

转载 作者:太空宇宙 更新时间:2023-11-04 08:00:05 25 4
gpt4 key购买 nike

<分区>

我正在尝试使用系统调用输出文件的内容。在我们有一个只包含一行的文件之前,代码工作得很好。在这种情况下,输出是没有第一个字符的行。这个字符在哪里丢失了?

ssize_t rres,wres;
char buff[1];
off_t offset;
int fd = open("tester.txt",O_CREAT | O_RDWR , 0664 );
int line_count = 5;
for(count = 0;line_count != 0;count--){
offset = lseek(fd, count, SEEK_END);
rres = read(fd,buff,1);
if(rres < 0){
return -1;
}
if(*buff =='\n') line_count--;

}

count *= -1; // get abs value of bytes
count++;
while(count--){
wres = write(STDOUT_FILENO,buff,read(fd, buff,1)); // output
}

我正在尝试输出文件的最后 5 行。但是,如果我的行数少于 5 行,则不会输出第一个字符。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com