1. 打开
mode:
r, rb 只读
w, wb 只写,不存在则创建
a, ab 追加,不存在则创建
r+, r+b, rb+ 读写
w+, w+b, wh+ 读写,不存在则创建
a+, a+b, ab+ 追加,不存在则创建
b: 仅在DOS和Windows中区分文件文件和二进制文件
2. 读
从stream指向的文件中读取n个字段,每字段size个字节,放入ptr指向的缓存中
返回实际读取的字节数
读一个字符
例如:
3. 写
从ptr指向的缓冲区读取n个字段,每字段size个字节,到stream所指向的文件中
返回实际写入的字段数
写一个字符
4.格式化读写
格式化读
例如
格式化写
5.定位
whence:
SEEK_SET 从文件开始
SEEK_CUR 从当前位置
SEEK_END 从文件结尾
6.获取路径
将当前路径写到size大小的buffer中,如果buffer太小,返回-1
7. 创建目录
FILE *fopen(const char *filename, const char *mode)
mode:
r, rb 只读
w, wb 只写,不存在则创建
a, ab 追加,不存在则创建
r+, r+b, rb+ 读写
w+, w+b, wh+ 读写,不存在则创建
a+, a+b, ab+ 追加,不存在则创建
b: 仅在DOS和Windows中区分文件文件和二进制文件
2. 读
size_t fread(void *ptr, size_t size, size_t n, FILE *stream)
从stream指向的文件中读取n个字段,每字段size个字节,放入ptr指向的缓存中
返回实际读取的字节数
读一个字符
int fgetc(FILE *stream)
例如:
#include <stdio.h>
main(){
FILE *fp;
char ch;
if((fp=fopen("cq.txt", "r"))==NULL){
printf("error");
exit(1);
}
ch=fgetc(fp);
while(ch!EOF){
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}
3. 写
size_t fwrite(const void *ptr, size_t size, size_t n, FILE *stream)
从ptr指向的缓冲区读取n个字段,每字段size个字节,到stream所指向的文件中
返回实际写入的字段数
写一个字符
int fputc(int c, FILE *stream)
4.格式化读写
格式化读
int fscanf(FILE *stream, char *format [, argument...])
例如
if(fscanf(stdin, "%d", &i))
格式化写
int fprintf(FILE *stream, char *format [, argument...])
5.定位
int fseek(FILE *stream, long offset, int whence)
whence:
SEEK_SET 从文件开始
SEEK_CUR 从当前位置
SEEK_END 从文件结尾
6.获取路径
char *getcwd(char *buffer, size_t size)
将当前路径写到size大小的buffer中,如果buffer太小,返回-1
7. 创建目录
int mkdir(char *dir, int mode)