打开文件
c语言使用fopen()函数来打开一个已存在的文件或者创建一个新的文件;
函数调用原型:
FILE *fopen( const char * filename, const char * mode );
其中,filename是字符串,用来命名文件,访问模式 mode 的值可以是下列值中的一个:
r |
打开一个已有的文本文件,允许读取文件。 |
w |
打开一个文本文件,允许写入文件。如果文件不存在,则会创建一个新文件。在这里,您的程序会从文件的开头写入内容。如果文件存在,则该会被截断为零长度,重新写入。 |
a |
打开一个文本文件,以追加模式写入文件。如果文件不存在,则会创建一个新文件。在这里,您的程序会在已有的文件内容中追加内容。 |
r+ |
打开一个文本文件,允许读写文件。 |
w+ |
打开一个文本文件,允许读写文件。如果文件已存在,则文件会被截断为零长度,如果文件不存在,则会创建一个新文件。 |
a+ |
打开一个文本文件,允许读写文件。如果文件不存在,则会创建一个新文件。读取会从文件的开头开始,写入只能是追加摸式。 |
二进制文件则为:"rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"
关闭文件
c语言使用fclose()函数来关闭文件;
函数调用原型为:
int fclose( FILE *fp );
文件关闭成功,函数返回0,关闭失败返回EOF。(EOF为定义在<stdio.h>中的常量)
写入文件
c语言使用fputc()函数将字符写入流;
函数原型为:
int fputc( int c, FILE *fp );
如果是字符串则用:
int fputs( const char *s, FILE *fp );
写入成功返回一个非负值,失败返回EOF。
使用 int fprintf(FILE *fp,const char *format, ...) 函数来写把一个字符串写入到文件中。
读取文件
c语言使用fgetc()函数将字符写入流;
函数原型为:
int fgetc( FILE * fp );
如果是字符串则用:
char *fgets( char *buf, int n, FILE *fp );
函数 fgets() 从 fp 所指向的输入流中读取 n - 1 个字符。它会把读取的字符串复制到缓冲区 buf,并在最后追加一个 null 字符来终止字符串。
如果这个函数在读取最后一个字符之前就遇到一个换行符 '\n' 或文件的末尾 EOF,则只会返回读取到的字符,包括换行符。
使用int fscanf(FILE *fp, const char *format, ...) 函数来从文件中读取字符串,但是在遇到第一个空格字符时,它会停止读取。