使用fopen()函数来创建一个新的文件或者打开一个已有的文件,这个调用会出初始化类型FILE的一个对象,类型FILE包含了所有用来控制流的必要信息。
r 打开一个已有的文本文件,允许读取文件。
w 打开一个文本文件,允许写入文件。如果文件不存在,则会创建一个新文件。在这里,您的程序从文件的开头写入内容。如果文件存在则该会被截断为零长度,重新写入!!!。
a 打开一个文本文件,以追加模式写入文件。如果文件不存在,则会创建一个新的文件。在这里,您的程序会在已有的文件内容中追加内容
r+ 打开一个文本,允许读写文本。
w+ 打开一个文本文件,允许读写文件。如果文件已存在,则文件会被截断为零长度,如果文件不存在,则会创建一个新文件。
a+ 打开一个文本文件,允许读写文件。如果文件不存在,则会创建一个新的文件。读取会从文件的开头开始,写入则只能是追加模式。
从文件读取单个字符的函数
int fgetc(FILE*fp);
说明:fegetc()函数从fp所指向的输入文件中读取一个字符。返回值是读取的字符,如果发生错误则返回EOF。
下面的函数从流中读取一个字符串:
char*fgets(char*buf,int n,FILE*fp);
函数fgets()从fp所指向的输入流中读取n-1个字符,他会把读取的字符串复制到缓冲区buf,并在最后追加一个null字符来终止字符串。
如果这个函数在读取最后一个字符之前就遇到一个换行符'/n'或者文件的末尾EOP,则只会返回读取到的字符,包括换行符。
也可以使用 int fscanf(FILE*fp,const char*format,...)函数来从文件中读取字符串,但是在遇到第一个空字符是,他会停止读取。