嵌入式Linux学习(三)

一、文件IO——写入字符串

1、不带格式写入

在文件中写入字符串可以使用fputs函数,使用此函数时变量默认为char类型。可以定义一个int类型的变量来接收fputs的返回值,便于后续测试。ioFile为上节在使fopen时定义的返回的结构体指针,表示一个文件。本节所有代码都需建立在上一节打开和关闭文件上。需要先打开文件再进行各种操作,最后手动关闭文件。

通过Makefile运行后会在io.txt中在“a”后接着输入。(上节有最终测试代码,其中读写权限应该为a+才能在原有文字基础上追加写)。

2、带格式写入

 使用fprintf可以定义写入文件的格式。定义新结构体指针变量“name”,使用fprintf函数可以带原格式输入文件。

以下为输入结果。

二、文件IO——读取与格式化读取

1、读取字节

读取字节可用fgetc函数 ,一次只可读取一个字节,如果需要读取汉字,则可以使用while循环读取所有字节。

 运行结果如下。终端会自动将可以组成汉字的多个字节处理为汉字,所以在while循环内printf要放在fgetc前面以防出现乱码,可以尝试调换顺序加深理解。

2、读取字符串

 使用fgets可读取字符串。buffter应设得比需要读取的所有数据的长度长。

运行结果与上类似,若最后需要换行则应放在while后,否则汉字部分会出现乱码,可根据终端处理字节组合的原理加深理解。 

3、格式化读取

使用fscanf函数可保存数据原有的格式(固定格式接收)。首先新建一个文件,再通过fopen打开。

在新文件内输入测试文字。 

使用fscanf函数。 使用while循环读取,if判断是否读取成功。最后手动关闭文件。

编译结果如下,fscanf可自动忽略换行符。 

输出下图红色方框内的内容是因为“韩国”之后没有检测到符合要求的参数类型,所以输出成功匹配到的参数只有一个,第二行输出只更新了成功匹配到的一个参数,其余还是输出上一轮成功匹配的参数。

 

本文基于b站up主尚硅谷的嵌入式Linux应用层开发教程总结。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值