Presentation is loading. Please wait.

Presentation is loading. Please wait.

Linux 文件操作——系统调用和标准 IO 库

Similar presentations


Presentation on theme: "Linux 文件操作——系统调用和标准 IO 库"— Presentation transcript:

1 Linux 文件操作——系统调用和标准 IO 库
广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd Linux 文件操作——系统调用和标准 IO 库 01 广州创龙电子科技有限公司

2 01 系统调用常用函数 02 标准 I/O 库常用函数 03 文件描述符与文件指针的关系 02 广州创龙电子科技有限公司

3 系统调用常用函数 1、Linux 系统中的大多数文件 I/O 只需用到 5 个函数:open、read、write、lseek 以及 close。由于新的 open 函数提供了 O_CREAT 和 O_TRUNC 选项,也就可以完全替代 creat 函数了。lseek 函数的作用就是为一个打开的文件设置其当前文件偏移量,定位读写的位置。 2、使用 pread 和 pwrite 函数可以实现原子读写。 3、dup 和 dup2 函数可以复制一个现存的文件描述符。 4、sync、fsync 和 fdatasync 函数可以使放在缓存中的数据写入磁盘,免得系统崩溃时造成数据丢失。 5、fcntl 函数可以改变已打开文件的性质。 03 广州创龙电子科技有限公司

4 系统调用常用函数 - 函数原型 #include <fcntl.h> #include <sys/stat.h>
#include <sys/types.h> #include <unistd.h> int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode); ssize_t write(int fd, const void *buf, size_t count); ssize_t read(int fd, void *buf, size_t count); int close(int fd); off_t lseek(int fd, off_t offset, int whence); 04 广州创龙电子科技有限公司

5 标准 I/O 库常用函数 1、在 Linux 系统中,标准 I/O 库最终都要调用前面所讲的系统调用来实现。
2、打开标准 I/O 流的函数:fopen、freopen、fdopen。用fclose函数关闭。 3、文件流的读写函数:fread、fwrite、fgetc、fputc,fgets、fputs。 4、文件流格式化输入输出函数:fprintf、fscanf。 05 广州创龙电子科技有限公司

6 标准 I/O 库常用函数 - 函数原型 #include <stdio.h>
FILE *fopen(const char *path, const char *mode); size_t fread(void *ptr, size_t size, size_t nmemb, FILE *fp); size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *fp); int fclose(FILE *fp); 06 广州创龙电子科技有限公司

7 文件描述符与文件指针的关系 每个文件指针(文件流)都对应一个底层文件描述符。
我们可以通过调用 fileno 函数(原型:int fileno(FILE *stream) ) 来获得文件流对应的底层文件描述符。相反地,可以通过调用函数 fdopen(原型:FILE* fdopen(int fildes, const char* mode) ) 来在一个已经打开的文件描述符上创建一个新的文件流,mode 参数与 fopen 函数的完全一样。 07 广州创龙电子科技有限公司

8 广州创龙电子科技有限公司 谢谢 官网: 论坛: 微信公众号:广州创龙


Download ppt "Linux 文件操作——系统调用和标准 IO 库"

Similar presentations


Ads by Google