c语言文件读写操作

1、打开文件

FILE *fopen( const char * filename, const char * mode );

其中mode模式:

r 打开文本文件,允许读操作
w 打开文本文件、允许写操作,文件长度清0;若文件不存在,创建新文件
a 打开文本文件,追加写文件;若文件不存在,创建新文件;
r+ 打开文本文件,允许读写文件
w+ 打开一个文本文件,允许读写操作;若文件存在,长度清0,若文件不存在,创建新的文件
a+ 打开一个文本文件,允许读写操作;读文件从头开始读,写文件只能追加;若文件不存在,创建爱你新的文件

若操作的是二进制文件:

"rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"

2、关闭文件

int fclose( FILE *fp );

3、写入文件

int fputc( int c, FILE *fp );

把单个字符写入到文件流fp中,写入成功返回字符;

int fputs( const char *s, FILE *fp );

字符串写入到文件流中,写入成功返回非负值;

 int fprintf(FILE *fp,const char *format, ...) 

4、读取文件

int fgetc( FILE * fp );

从文件流读取单个字符,读取成功,返回读取的字符

char *fgets( char *buf, int n, FILE *fp );

从文件流中读取n-1个字符,并保存在缓冲区buf中;并会增加一个null

5、一些常见的函数

 1 int fclose(FILE *stream) //关闭流 stream。刷新所有的缓冲区
 2 
 3 int feof(FILE *stream)   //测试给定流 stream 的文件结束标识符
 4 
 5 int fflush(FILE *stream) // 刷新流 stream 的输出缓冲区
 6 
 7 FILE *fopen(const char *filename, const char *mode)  //使用给定的模式 mode 打开 filename 所指向的文件
 8 
 9 int fsetpos(FILE *stream, const fpos_t *pos)         //设置给定流 stream 的文件位置为给定的位置。参数 pos 是由函数 fgetpos 给定的位置
10 
11 size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream) //把 ptr 所指向的数组中的数据写入到给定流 stream 中
12 
13 int remove(const char *filename)             //删除给定的文件名 filename,以便它不再被访问
14 
15 int fprintf(FILE *stream, const char *format, ...) //发送格式化输出到流 stream 中
16 
17 int fgetc(FILE *stream)              //从指定的流 stream 获取下一个字符(一个无符号字符),并把位置标识符往前移动
18 
19 char *fgets(char *str, int n, FILE *stream)  //从指定的流 stream 读取一行,并把它存储在 str 所指向的字符串内。当读取 (n-1) 个字符时,或者读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定
20 
21 int fputc(int char, FILE *stream)       //把参数 char 指定的字符(一个无符号字符)写入到指定的流 stream 中,并把位置标识符往前移动
22 
23 int fputs(const char *str, FILE *stream)  //把字符串写入到指定的流 stream 中,但不包括空字符
24 
25 int getc(FILE *stream)   //从指定的流 stream 获取下一个字符(一个无符号字符),并把位置标识符往前移动
26 
27 int getchar(void)      //从标准输入 stdin 获取一个字符(一个无符号字符)
28 
29 char *gets(char *str)   //从标准输入 stdin 读取一行,并把它存储在 str 所指向的字符串中。当读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定
30 
31 int putc(int char, FILE *stream)   //把参数 char 指定的字符(一个无符号字符)写入到指定的流 stream 中,并把位置标识符往前移动
32 
33 int putchar(int char)        //把参数 char 指定的字符(一个无符号字符)写入到标准输出 stdout 中
34 
35 int puts(const char *str)     //把一个字符串写入到标准输出 stdout,直到空字符,但不包括空字符。换行符会被追加到输出中
36 
37 int ungetc(int char, FILE *stream)   //把字符 char(一个无符号字符)推入到指定的流 stream 中,以便它是下一个被读取到的字符
38 
39 void perror(const char *str)      //把一个描述性错误消息输出到标准错误 stderr。首先输出字符串 str,后跟一个冒号,然后是一个空格

 

 


posted @ 2020-06-22 15:26  笑不出花的旦旦  阅读(906)  评论(0编辑  收藏  举报