如何用C语言读取txt文档中最后一行数据

如何用C语言读取txt文档中最后一行数据,请写出大概代码!!自己想的:inti,pp=1;inttotalnumber=0;//文件中double数总个数FILE*fp;... 如何用C语言读取txt文档中最后一行数据,请写出大概代码!!
自己想的:
int i,pp=1;
int totalnumber=0; //文件中double数总个数
FILE *fp;
char mm;

fp = fopen(txtname,"rt");
fseek (fp, -100L, SEEK_END); //文件指针 重新指向文件尾 -100指针指向最后倒数100字节处,保存的行数应该没有100个9这个大。
do
{
fscanf(fp,"%c",&mm); //逐行扫描
}
while(mm!='\n'); //判断倒数第二行的换行符
fscanf(fp,"%ld",&LINE); //输出最后一行数字
fclose(fp);
展开
 我来答
仙戈雅3n
2015-08-04 · TA获得超过5790个赞
知道大有可为答主
回答量:2398
采纳率:75%
帮助的人:890万
展开全部
如果想自由地读取txt文档任意位置,就只能使用随机读写数据文件的方式来读与写的操作。因为C语言里的随机读写数据文件提供了 “文件位置标记”和定位的相关函数。
例如:
rewind函数使文件位置标记指向文件开头
fseek函数改变文件位置标记,其中该函数的原型为:
fseek(文件类型指针,位移量,起始点);
如果仅仅是想读取文件末尾一行数据,只需把起始点定位到文件末尾,位移量为负数代表向后挪的意思。
如:
fseek(fp,-100L,SEEK_END); // 文件游标定位到文件末尾处,然后向后退100个字节。
紧接着就是读取了:
fread(buffer,100,1,fp);
EverSun3
2012-12-06
知道答主
回答量:10
采纳率:0%
帮助的人:14.2万
展开全部
关于这个问题,本人也没有什么好的方法。
提个建议:首先将后100个字符读入数组,内存访问肯定比文件访问要快
就是这块:
do
{
fscanf(fp,"%c",&mm); //逐行扫描
}
while(mm!='\n'); //判断倒数第二行的换行符

另外若想改进,个人感觉文件的磁盘访问本身就很慢,可以考虑在文件不大时直接用一些内存操作
来自:求助得到的回答
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
48757368
2012-12-05 · 超过10用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:29.3万
展开全部
char a[MAXN] = "", *p;
int ch;
p = a;

while( (ch = getchar()) != EOF )
{
if( ch != '\r' )
{
*p++ = ch;

}
else
{
p = a;

}

}
没有测试过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式