FATFS快速读写文件

读取字符串

【f_gets】由【f_read】封装而来,可从文件中读取一个字符串。当读取到’\n’、文件结束或缓冲区被填充Size - 1个字符时,读操作结束。若文件读取成功,则返回读取到的字符串,否则返回空字符串,其定义如下

char* f_gets ( 
  char* Str,        /*  读缓冲区  */ 
  int Size,         /*  读缓冲区大小  */ 
  FIL* FileObject   /*  文件对象  */ 
); 

其中

  • Str 存储读取字符串的读缓冲区指针。
  • Size 读缓冲区大小。
  • FileObject 打开的文件对象结构指针。

当 _USE_STRFUNC 为1或者2时,f_gets可用,且当_USE_STRFUNC==2时,文件中包含的 ‘\r’ 则被去除。

写入

【f_putc】是f_write的一个封装函数,可向文件中写入一个字符。 当字符被成功地写入后,函数返回该字符。由于磁盘满或任何错误而导致函数失败,将返回 EOF。

int f_putc ( 
  int Chr,          /*  字符  */ 
  FIL* FileObject   /*  文件对象  */ 
); 

其中,Chr即为待写入字符。

【f_puts】是由f_putc封装而来,可向文件中写入一个字符串。 函数成功后,将返回写入的字符数。由于磁盘满或任何错误而导致函数失败,将返回EOF。

int f_puts ( 
  const char* Str,  /*  字符串指针  */ 
  FIL* FileObject   /*  文件对象指针  */
);

其中Str即为字符串指针,要求以’\0’结尾,且’\0’ 字符不会被写入。

f_putc和f_puts的可用条件均为(_FS_READONLY == 0)&&(_USE_STRFUNC == 1 || _USE_STRFUNC == 2),且当_USE_STRFUNC == 2时,字符 ‘\n’ 被转换为 “\r\n” 写入文件中。

f_printf

【f_printf】可向文件中写入一个格式化字符串。其函数返回值与f_puts相同。

int f_printf ( 
  FIL* FileObject,     /*  文件对象指针  */ 
  const char* Foramt,  /*  格式化字符串指针  */ 
  ... 
); 

其中,Format是以’\0’ 结尾的格式化字符串指针,...为可选参数。

其中,格式化字符串的方法与printf相似,例如下面代码将输出The number is 42。

int num = 42;
f_printf(file, "The number is %d\n", num);

下面是一些常用的格式符

%d
%i
十进制整数%x
%X
十六进制整数小写
大写
%u无符号十进制整数%o八进制整数
%f浮点数%p指针地址
%e
%E
科学计数法小写
大写
%g
%G
自动选择%f或%e(小写)
(大写)
%s字符串%c字符

此外,格式化说明符可以带有修饰符,用于控制输出的宽度、精度等。示例如下,x表示空格

42
%5d最小宽度为5的整数,不足时在前面补充空格xxx42
%05d最小宽度为5的整数,不足时在前面补充000042
%-5d最小宽度为5的整数,但左对齐42xxx
%.2f小数位数为2的浮点数42.00
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微小冷

请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值