我有一个程序,我想用它来读取文件并输出它的最后 N 个字符(可以是 50 或我编码的任何字符)。从我的一段代码中,我得到的输出是菱形框中的问号,(不支持的 unicode?)
我正在使用 lseek 设置光标,有人可以帮助我吗?
int main(int argc,char *argv[]){
int fd; //file descriptor to hold open info
int count=0; //to hold value of last 200th char number
char ch; //holds read char
char* outputString = "The file does not exist!\n";
if(!access("myFile.txt",F_OK)==0){
write(2,outputString,strlen(outputString));
exit(1);
}
fd = open("myFile.txt",O_RDONLY| O_NONBLOCK);
int ret = lseek(fd,200,SEEK_END); //get position of the last 200th item
while (ret!=0) {
write(1, &ch,1);
ret--;
}
close(fd);
return(0);
}
我不想使用<stdio.h>
函数,所以我使用文件描述符而不是创建FILE*
对象。