如何用C语言读取txt文档中最后一行数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用C语言读取txt文档中最后一行数据相关的知识,希望对你有一定的参考价值。
如何用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);
例如:
rewind函数使文件位置标记指向文件开头
fseek函数改变文件位置标记,其中该函数的原型为:
fseek(文件类型指针,位移量,起始点);
如果仅仅是想读取文件末尾一行数据,只需把起始点定位到文件末尾,位移量为负数代表向后挪的意思。
如:
fseek(fp,-100L,SEEK_END); // 文件游标定位到文件末尾处,然后向后退100个字节。
紧接着就是读取了:
fread(buffer,100,1,fp); 参考技术A 关于这个问题,本人也没有什么好的方法。
提个建议:首先将后100个字符读入数组,内存访问肯定比文件访问要快
就是这块:
do
fscanf(fp,"%c",&mm); //逐行扫描
while(mm!='\n'); //判断倒数第二行的换行符
另外若想改进,个人感觉文件的磁盘访问本身就很慢,可以考虑在文件不大时直接用一些内存操作来自:求助得到的回答本回答被提问者和网友采纳 参考技术A char a[MAXN] = "", *p;
int ch;
p = a;
while( (ch = getchar()) != EOF )
if( ch != '\r' )
*p++ = ch;
else
p = a;
没有测试过
如何用C语言实现,读取两个文件数据,然后比较两个数据,如果有不同,转换类型并输出???
参考技术A 1、你先获取文件的数据,我给你一个事列://后面的是全路径,必须写对了
FILE *fp1 = fopen("/Users/qianwei/Desktop/2.txt","r" );
if (fp1!= NULL)
char a[50] ;
for (int i=0; i<num; i++)
fgets(a, 50, fp1);
//知道长度后,随机一个数字,再使用循环,来输出该菜单名
printf("%s",a);
fclose(fp1);
上面定义的数组是50的长度,所以小文件是足够了。
2、如果你还想比较来个数据的话,你可以直接用字符串的cmp方法来比较两个方法是否相等,返回值为0就是相等。
3、输出的话,那就直接打印好了printf。
以上是关于如何用C语言读取txt文档中最后一行数据的主要内容,如果未能解决你的问题,请参考以下文章
C语言从TXT文档中读取一组数字时如何判断已经读到最后一个数字?