shuipaopao 发表于 2013-7-8 15:08:01

FATFS文件系统中那个函数能实现“一行一行的读取TXT文档”

如题,在一个txt文档中有以下几行数据:
352
386
453
485
520
634
753
856
1025
1536
............等等
怎样组合FATFS文件系统中的函数,实现一下功能
1.一行一行的读取数据.
2.假如给定第几行,能根据行数快速读取所在行的数据
请坛中的高手指点一下,非常感谢。

cheungman 发表于 2013-7-8 15:39:24

   f_gets.

shuipaopao 发表于 2013-7-8 15:47:55

cheungman 发表于 2013-7-8 15:39 static/image/common/back.gif
f_gets.

f_gets是读取文件中的一个字符串,单独这一个函数不能连续读取每一行信息吧

li_fccc 发表于 2013-7-8 16:24:14

把参数中Size定义的大些就行了,你可以看下源代码,遇到换行符就停止

shuipaopao 发表于 2013-7-8 16:42:55

li_fccc 发表于 2013-7-8 16:24 static/image/common/back.gif
把参数中Size定义的大些就行了,你可以看下源代码,遇到换行符就停止

把size定义的再大当读取到'\n'读操作结束,还是不能把下面的行读出来。

shuipaopao 发表于 2013-7-15 15:06:35

cheungman 发表于 2013-7-8 15:39 static/image/common/back.gif
f_gets.

谢谢,今天做实验终于实现了,不用f_lseek函数进行指针移动,只要用循环语句就可以实现:
比如要读取第十行可用:
do
      {
            f_gets(buf,6,&file);
            count++;
      }while(count<10);
实现。

xwkm 发表于 2013-7-16 00:47:32

fseek效率更高。

dongfo 发表于 2014-6-16 08:26:13

shuipaopao 发表于 2013-7-15 15:06
谢谢,今天做实验终于实现了,不用f_lseek函数进行指针移动,只要用循环语句就可以实现:
比如要读取第十 ...

这样做唯一的坏处就是十分傻,虽然是有效的方法……

shuipaopao 发表于 2014-6-18 07:57:00

xwkm 发表于 2013-7-16 00:47
fseek效率更高。

因为每行的数据长度不一样,不知用fseek怎样准确定位到某一行?

zly_1980 发表于 2014-6-18 17:39:42

FILE *fp的话有fgets
页: [1]
查看完整版本: FATFS文件系统中那个函数能实现“一行一行的读取TXT文档”