1.什么是io
i:input 即输入 o:output 即输出
输入:从文件将数据输入至内存
输出:从内存将数据拷贝到文件中
2.io是操作文件的工具
3.关键词
c库函数调用 系统调用 流指针 缓冲区
4.标准IO函数
打开文件:
FILE *fopen(const char *pathname , *pathname , const char*mode);
fopen(要打开的文件路径,打开权限);
返回值:成功返回流指针,失败返回NULL
关闭文件:
FILE *Fclose(FILE * stream);
fclose(已经打开的文件流指针)
返回值:成功返回0,失败返回EOF(-1)
操作文件:(读·写)
(1)按字符
读取: fgetchar(FILE *stream);
getchar(文件流指针);
返回值:成功返回字符ascll码值,失败返回EOF(-1)
输入: fputc(int c,FILE*steam);
putc(要输出的字符ASCLL码,文件流指针);
返回值:成功返回谢写入的 ASCLL码值,失败返回-1
(2)按行
读取: char *fgets(char *s,int size,FILE *stream);
getc(读取到空间的首地址,要读取的字节数,文件流指针);
返回值:成功返回空间首地址,失败返回NULL;
输入: int fputs(const char *s,FILE *stream);
puts(要输出文件的首地址,文件流指针);
返回值:成功返回非负整数,失败返回-1;
(3)按块
读取: char *fgets(char *s,int size,FILE *stream);
gets(读取到空间的首地址,要读取的字节数,要操作的流指针);
返回值:成功返回读到的空间首地址,失败返回NULL;
输入: char *fputs(const char *s,FILE *stream);
puts(要输出文件的首地址,文件流指针);
返回值:成果返回非整数,失败返回-1;
4.案例:
IO文件拷贝
实现方法(按字符拷贝)
代码如下:
如图:通过操作流指针将1.txt中字符拷贝给2.txt。