嵌入式Linux应用编程-文件IO
近期学习了下嵌入式Linux应用编程,一边学习一边记录下关键知识,也是在学习的过程进行下简单梳理。 文件I/O 用户在应用开发过程中会经常需要访问文件。Linux下访问文件的方式有两大类:标准I/O和文件I/O。 文件I/O特点: (1)posix(可移植操作系统接口)定义的一组函数。 (2)不带缓冲机制,每次操作都引起系统调用。 (3)通过文件描述符来访问文件。 (4)访问各种类型文件(7种:- d c b s l p)。 1、文件类型 -:普通文件:可执行文件、文本文档、脚本 d:目录文件 c:字符设备 b:块设备 s:网络设备、socket l:软链接 p:管道 2、文件描述符 每个打开的文件都对应一个文件描述符。 文件描述符是一个非负整数。Linux为程序中每个打开的文件分配一个文件描述符。 文件描述符从0开始分配,依次递增。 在文件IO中默认打开了三个文件描述符0,1,2。对应标准输入、标准输出、标准出错。 3、接口 打开文件 int open(const char *pathname, int flags); 功能:打开一个文件,并且返回一个文件描述符供后续读写类接口使用。 读文件 ssize_t read(int fd, void *buf, size_t count); 功能:从文件描述符为fd的文件/设备读取最大count个字节的数据 写文件 ssize_t