嵌入式IO读取文件Linux,4-3嵌入式linux开发文件IO.doc

TOC \o "1-3" \h \u 32329 一、 文件的概念及开/关 2

18141 (一) 文件I/O的介绍 (了解) 2

11785 (二) 文件描述符的含义 (了解) 2

31998 (三) 文件的打开和关闭 (熟练) 2

27943 1. 文件的打开open 2

1601 2. 文件的关闭close 3

15391 二、 文件的读/写/定位 4

7473 (一) 读取文件(熟练) 4

8037 (二) 写入文件(熟练) 4

24635 (三) 定位文件(熟练) 5

24661 (四) 思考和练习 5

3429 三、 目录 6

24204 (一) 读取目录(熟练) 6

193 1. 打开目录opendir 6

15641 2. 读取目录流内容readdir 6

13145 3. 关闭目录文件closedir 6

21035 4. 示例 7

9905 (二) 修改文件访问权限(熟练) 7

13598 (三) 获取文件属性(熟练) 7

18698 1. 获取文件属性stat/lstat/fstat 7

26142 2. 存放文件属性的结构体类型struct stat 8

266 3. 通过宏来判读文件类型st_mode 9

9146 (四) 练习-获取并显示文件属性 10

17283 四、 作业 10

文件的概念及开/关

文件I/O的介绍 (了解)

1,文件IO是由posix(可移植操作系统接口)定义的一组函数

2,不提供缓冲机制,每次读写操作都引起系统调用

3,核心概念是文件描述符(标准IO是流FILE)

4,访问各种类型文件(标准IO是访问普通文件或者终端文件)

5,linux下,标准I/O基于文件I/O实现

文件描述符的含义 (了解)

每个打开的文件都对应一个文件描述符

文件描述符是一个非负整数。linux为程序中每个打开的文件分配一个文件描述符

文件描述符从0开始分配,依次递增。(每个程序分开描述)

文件I/O操作通过文件描述符来文采

0,1,2,的含义?

0:标准输入

1:标准输出

2:标准错误

文件的打开和关闭 (熟练)

文件的打开open

open函数用来创建或打开一个文件:

成功时返回文件描述符;出错时返回EOF

打开文件时使用两个参数

创建文件时第三个参数指定新文件的访问权限

只能打开设备文件

示例1

以只写方式打开文件1.txt。如果文件不存在则创建,如果文件存在则清空:

示例2

以读写方式打开文件1.txt。如果文件不存在创建,如果文件存在则报错:

文件的关闭close

close函数用来关闭一个打开的文件:

成功时返回0;出错时返回EOF

程序结束时自动关闭所有打开的文件

文件关闭后,文件描述符不再代表文件

文件的读/写/定位

读取文件(熟练)

read函数用来从文件中读取数据

成功时返回实际读取的字节数;出错时返回EOF

读到文件末尾时返回0

fd 是open时的返回值

buf是接收数据的缓冲区,接收从文件中读取的内容。

count不应超过buf大小,字节数。一般设定为sizeof(buf)

示例

写入文件(熟练)

write函数用来想文件写入数据

成功时返回实际写入的字节数;出错时返回EOF

fd open的返回值,指定文件,是文件描述符。

buf是发送数据的缓冲区

count写入的字节数,不应超过buf大小

示例

定位文件(熟练)

lseek函数用来定位文件

成功时返回定位后最新的文件读写位置;出错时返回EOF

参数offset和参数whence同fseek完全一样

思考和练习

利用文件I/O实现文件的复制

·文件名通过命令行参数指定

·打开文件的方式?

·如何判断读到源文件的末尾?

——~/practice/level4/day3/mycp.c

目录

读取目录(熟练)

打开目录opendir

opendir函数用来打开一个目录文件:

DIR是用来描述一个打开的目录文件的结构体类型

成功时返回目录流指针;出错时返回NULL

能够获取目录下的文件名称等信息

读取目录流内容readdir

readdir函数用来读取目录流中的内容

struct dirent是用来描述目录流中一个目录项的结构体类型

包含成员char d_name[256] 参考帮助文档

成功时返回目录流dirp中下一个目录顶;

出错或到末尾时返回NULL

关闭目录文件closedir

closedir函数用来关闭一个目录文件

成功时返回0;出错时返回EOF

示例

修改文件访问权限(熟练)

chmod / fchmod函数用来修改文件的访问权限

成功时返回0;出错时返回EOF

root和文件所有者能修改文件的访问权限

chmod是通过

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值