Linux下IO分为两种,标准IO和文件IO。
标准IO是什么:标准IO用结构体类型(FILE)来存放文件的相关信息,标准IO所有操作都是围绕FILE来进行的。
下面列举一些我们在LinuxOS下通常用到的API。
文件的打开:
#include <stdio.h>
FILE *fopen(const char *path, const char *mode);
函数功能:打开文件
参数1:文件名 (可包含路径)
参数2:文件的打开方式:
r 以只读方式打开文件,文件不存在,则报错
r+ 以读写方式打开文件,文件不存在,则报错
w 以只写方式打开文件,文件不存在则新建,文件存在则清空文件中的内容
w+ 以读写方式打开文件,文件不存在则新建,文件存在则清空文件中的内容
a 以追加的方式打开文件,文件不存在则新建,文件存在则追加到文件的末尾
a+ 以读写的方式打开文件,文件不存在则新建,文件存在则追加到文件的末尾
返回值:成功返回文件指针FILE *,失败则返回NULL
文件的关闭:
#include <stdio.h>
int fclose(FILE *fp);
函数功能:关闭文件
参数:打开文件的指针
文件的读取:
#include <stdio.h>
int fgetc(FILE *stream);
函数功能:从文件中获取一个字符,
参数:文件指针
返回值: char --->1个字节的int 失败,返回EOF,只能判断文本文档流,二进制流不能判断
用上述API我们就可以模拟cat命令。
按字符写文件:
#include <stdio.h>
int fputc(int c, FILE *stream);
函数功能:给文件写入一个字符
参数1:要写入的字符