标题:c 读取txt的问题
取消只看楼主
kaizi1231
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-10-18
结帖率:0
已结贴  问题点数:20 回复次数:3 
c 读取txt的问题
有一个txt文件,保存类型如下:
。。。。。
2424.00
2425.00
2427.00
2425.00
2425.00
2426.00
2426.00

如何保存文件底部最后1200行的数据到数组上面

FILE *fp_dd;
fp_dd= fopen("dd.txt", "a+");
fseek(fp_dd,1200*8,SEEK_END);

文件比较大,如果要获取整个文件的行数,有没有好的方法?!
在线求等
我是新手,勿喷~~
搜索更多相关主题的帖子: 在线 如何 
2016-10-18 09:50
kaizi1231
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-10-18
得分:0 
回复 2楼 word123
int flag_dd_n = 0;
int Line = 0;
    do{
flag_dd_n=fgetc(fp_dd);
if (flag_dd_n=='\n')
        Line++;
}
            while(flag_dd_n!=EOF);

我是这么获取到行数的,如果我要获取其中一行或多行的数,该怎么获取啊?
2016-10-18 14:52
kaizi1231
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-10-18
得分:0 
回复 4楼 word123
    非常感谢~~
 
我通过这个可以获取到我想要N行的数据

 fseek(flag_dd,-9*N,SEEK_END);     
    fscanf(flag_dd,"%lf",&dl);

这样,我是不是可以直接用循环保存数据到数组里了
比如我要保存最后10行的数据到数组C中

然后我有个疑问想问下,就是如果TXT文件打开后,我获取完文件行数和保存最后10行的数据到数组C中,是否可以直接继续写入数据到TXT文件里面,不用先fclose(flag_dd;然后再fopen打开保存的吧?
2016-10-19 11:43
kaizi1231
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-10-18
得分:0 
回复 7楼 forever74
就是要把先前的文件位置指针指回到文件末尾,这样就可以继续写入数据了,是吧~
2016-10-20 17:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-469930-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 2.539150 second(s), 10 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved