- Linux文件
- Linux下的文件类型
- b 块设备文件---->存储类设备(硬盘)
- c 字符设备文件--->输入输出设备
- d 目录文件--->文件夹
- - 普通文件--> xxx.c xxx.h xxx.txt xxx.jpg xxx.mp4 a.out
- l 软链接文件-->快捷方式
- s 套接字文件-->网络通信
- p 管道文件-->进程之间共享数据
- 文件操作思想
- 打开文件
- 读写文件
- 关闭文件
- 文件操作的方法
- I :input O :output
- 标准IO
- C库提供的一套对文件操作的操作方法--->库函数
- 文件IO
- Linux内核提供的一套对文件操作的操作方法--->系统调用
- 流:字节流
- 文件流:数据从文件流入流出体现出来的字节流
- 标准IO:
- FILE--->文件流
- FILE *--->文件流指针--->已打开文件
- Linux下的文件类型
- 一、标准IO
- 打开文件 fopen
- 读/写文件 fgetc/fputc(一个字符的读写)、fgets/fputs(一行字符的读写)、fread/fwrite
- 关闭文件 fclose
- man手册
- 第一章节:Linux命令
- 第二章节:系统调用
- 第三章节:库函数
- fopen:FILE *fopen(const char *pathname, const char *mode)
- 功能:打开一个文件并获得一个文件流指针
- 参数:
- pathname:打开得文件的文件名地址
- mode:打开的方式
- "r"以只读的方式打开 文件必须存在
- "r+"以读写的方式打开 文件必须存在
- "w"以只写的方式打开 文件存在则清空 文件不存在则创建
- "w+"以读写的方式打开 文件存在则清空 文件不存在则创建
- "a"以追加写的方式打开 文件不存在创建
- "a+"以读写的方式打开 文件不存在创建 文件存在则追写
- 返回值:成功:文件流指针:FILE *;失败:NULL
- fputc int fputc(int c,FILE *stream)
- 功能:向文件中写入一个字符
- 参数:c:要写入的字符;stream:要写入的文件的文件流指针
- 返回值:成功:写入的字符的ASCII值;失败:EOF(-1)
- fgetc :int fgetc(FILE *stream);
- 功能:从文件中读取一个字符
- 参数:stream:要读取的文件的文件流指针
- 返回值:成功:读到的字符的ASCII值;失败:EOF;读到文件末尾:EOF
- fputs : int fputs(const char *s,FILE *stream);
- 功能:向文件中写入字符串(不会写入字符
- 参数:s:字符串首地址;stream:要写入的文件流指针
- 返回值:成功:非负的整形数据;失败:EOF(-1)
- fgets : char *fgets(char *s,int size,FILE *stream);
- 功能:从文件中读取一行数据
- 参数:s:用来存放读取到数据的内存空间首地址; size:希望从文件中读到的字节数; stream:要读取的文件流指针
- 返回值:成功:返回s空间的首地址; 失败:NULL; 读到文件末尾:NULL
- 二、主函数传参
- ./a.out aaa bbb --->实参
- int main(int argc,const char *argv[])
- 形参:主函数中的参数
- argc:程序运行时,给主函数传递的参数个数 3
- argv:指针数组:argc个指针,分别指向了给主函数传递的实参
- argv[0]--->"./a.out"
- argv[1]--->"aaa"
- argv[2]--->"bbb"
- 普通文件:
- 文本文件
- 二进制文件