c语言如何让指针到txt文件的最后一行开头,急!!!

2024-12-01 11:39:52
推荐回答(5个)
回答(1):

#include "stdio.h"
int main(int argv,char *argc[]){
FILE *fp;
char s[1000],ch;
if((fp=fopen("data.txt","r"))==NULL){
printf("Open the file failure...\n");
return 0;
}
fseek(fp,0L,SEEK_END);
fseek(fp,-3L,SEEK_CUR);
while(fgetc(fp)!='\n')
fseek(fp,-2L,SEEK_CUR);//到这里,fp指向的文件读指针已经移到最后一行的开头
printf("%s\n",fgets(s,1000,fp));//这一行只是打出来验证一下,按题意并不需要
fclose(fp);
return 0;
}

回答(2):

如果文件比较大,直接把文件最后的一部分比如1000个字全部放到数组里面,然后比对。找到'\n'(asc码13回车符)记下位置就可以了。

回答(3):

没有这样的现成函数。你可以自己写个,先指到末尾,在向前读文件判断是否为换行符

回答(4):

好像需要用一个死循环,让其指到最后

回答(5):

rewind()函数指向开头,再fseek()函数移动,移动量为从开头到最后一行开头的值。