linux程序设计:第三章 文件操作
来源:互联网 发布:php tp框架介绍 编辑:程序博客网 时间:2024/04/29 05:06
一. linux文件系统
1.在linux中几乎一切都是文件,可以像使用文件一样时用磁盘文件、串行口和打印机和其他设备。
目录是用于保存其它文件的节点号的名字的文件。
硬件设备也被映射为文件。常用的设备文件有三个:
/dev/console 系统控制台
/dev/tty 控制终端
/dev/null 空设备
2.操作系统的核心,即内核是一组设备驱动程序,是一组对系统硬件进行控制的底层接口。
系统调用:用于访问设备驱动程序的底层函数:open read write close ioctl
3.库函数
针对输入输出操作直接使用底层系统调用的一个问题是他们的效率非常低。
二. 底层文件访问
3个已经打开的文件描述符:
0 标准输入
1 标准输出
2 标准错误
1.write
2.read
3.open
int open(const char *path, int oflags, mode_t mode)
oflags参数:
O_RDONLY 只读 O_WRONLY 只写 O_RDWR 读写方式
O_APPEND 写入数据追加到文件末尾 O_TRUNC 把文件长度设置为零,丢弃原来的内容
O_CREATE 按参数mode中给出的访问模式创建文件
O_EXCL
使用O_CREATE标志还需要第三个参数:
S_IRUSR S_IWUSR S_IXUSR
S_IRGRP S_IWGRP S_IXGRP
S_IROTH S_IWOTH S_IXOTH
open调用时给出的mode值与当时的用户掩码的反值做AND操作。umask是一个系统变量,为文件的访问权限设定一个掩码。
4.close
三. 其他与文件管路有关的系统调用
1.lseek系统调用:用来设置文件的下一个读写位置,可以是某个绝对位置,也可以是相对于当前位置相对位置。
SEEK_SET offset是一个绝对位置
SEEK_CUR offset是相对于当前位置的一个相对位置
SEEK_END offset是相对于文件尾的一个相对位置
2. fstat,stat和lstat系统调用
fstat返回与打开文件描述符相关的文件的状态信息。
stat和lstat是通过文件名查到的状态信息。区别:当文件是一个符号链接时,lstat返回的是该符号链接本身的信息而stat返回的是该链接指向的文件的信息。
3. dup和dup2系统调用
四. 标准I/O库
标准I/O 库为底层i/o系统调用提供了一个通用的接口。与底层文件描述符对应的是流,是指向结构FILE的指针。
1.fopen,fread,fwrite,fclose
2.fflush,fseek
3.fgetc,getc和getchar 读取一个字符
4.fgets,gets读取一个字符串
5.格式化输入输出
printf,fprintf和sprintf
scanf,fscanf和sscanf
- Linux程序设计之--第三章 文件操作
- Linux程序设计第三章文件操作笔记
- linux程序设计:第三章 文件操作
- linux程序设计第三章 文件 目录操作读书笔记
- Linux程序设计-学习笔记-第三章文件操作
- 《Linux程序设计第四版》读书笔记 - 第三章 文件操作
- linux程序设计——文件操作(第三章)
- linux程序设计——文件操作(第三章)
- 《Linux程序设计第四版》第三章文件操作 读书笔记(一)
- 《Linux程序设计第四版》第三章文件操作 读书笔记(二)
- 《Linux程序设计第四版》第三章文件操作 读书笔记(三)
- 《Linux程序设计第四版》第三章文件操作 读书笔记(四)
- 《Linux程序设计第四版》第三章文件操作 读书笔记(五)
- Linux程序设计第三章
- Linux程序设计入门--文件操作
- Linux程序设计入门--文件操作
- Linux程序设计入门--文件操作
- linux程序设计—文件操作
- Android开发-Intent传递ArrayList-AndroidStudio
- java - disconf分布式管理-配置文件篇
- Python正则匹配中文
- 混合语言编程:启用CLR(公共语言运行时编译)让C#调用C++
- iOS沙盒目录结构解析
- linux程序设计:第三章 文件操作
- Android知识点总结
- 09:提取不重复的整数
- jquery获取
- Cobar部署与测试
- java对redis的基本操作
- Android直播开源项目
- CUDA并行算法系列之规约
- 【C++数据类型】C++中的类型转换(一)