1.fopen
原型
FILE *fopen(const char *path地址, const char *mode权限);
FILE *fdopen(路径/文件名, const char *mode); ./chen.text
例:FILE *fphzk ; fphzk=fopen("c:\\hzk16","r+");
mode
"r" = "rt" 打开一个文本文件,只允许读
"r+" = "rt+" 打开一个文本文件,允许读写
"rb" 打开一个二进制文件,只允许读
“rb+” 打开一个二进制文件,允许读写
"w" = “wt” 新建一个文本文件,已存在的文件将内容清空,只允许写
"w+" = "wt+" 新建一个文本文件,已存在的文件将内容清空,允许读写
“wb” 新建一个二进制文件,已存在的文件将内容清空,只允许写
“wb+” 新建一个二进制文件,已存在的文件将内容清空,允许读写
"a" = "at" 打开或新建一个文本文件,只允许在文件末尾追写
"a+" = "at+" 打开或新建一个文本文件,可以读,但只允许在文件末尾追写
“ab” 打开或新建一个二进制文件,只允许在文件末尾追写
“ab+” 打开或新建一个二进制文件,可以读,但只允许在文件末尾追写
2.fwrite fread
原型
fwrite(buffer,size,count,fp);
buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。
size:一次要读写的字节数;
count:读写多少次
fp:文件型指针 FILE *fp;
返回
write 返回count 即:读写的次数
read 返回:实际读取的次数,20个字节读取100次每次读取10个,那么返回2
3.光标定位 fseek
lseek (FILE* fp,int offset,int whence); 将指针移动到whence相对offset个字节
offset:相对字节数,应该只能为正数
whence:光标位置
SEEK_SET 头
SEEK_END 尾
SEEK_CUR 当前位置
PS;移动到头、尾、当前位置时, 正数offset 默认向后推移
返回
成功返回0,失败返回其他
4.fputc
fputc(c, FILE *stream) 一个一个字符输入
c -- 这是要被写入的字符。
stream -- 文件型指针
返回:被写入的字符 也可以:无
5.fgetc
char c=fgetc(fp); 一个一个字符输出
从文件fp中得到一个字符,给c
6.feof 一个一个读下去
feof(fp)
到达文件尾巴的时候返回1 否则返回0
文件型指针 FILE *fp;
缓冲文件系统,一个一个读