文件输入输出(二):文件之操作

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

  filename对应的实参是一个字符串,表示需开拓的文书之文书称(可以包文件的不二法门),该实参可以是一个字符串常量,也得是一个字符指针;

  mode对应的实参也是一个字符串,对诺了文本之操作形式:

  “r”:以单纯读形式打开一个文书文件,如果文件未存在则打开失利。打开后,从头开端读。

  “w”:以单独写形式打开或建一个文件文件,假若文件在则弃所有内容。

  “a”:以补加计打开一个文书文件,在尾部接着写入数据,若文件不设有则穿件新文件。

  “rb”:打开一个可是念之二进制文件,倘若文件不存 则打开败北。

  “wb”:打开或创设一个只是写的二进制文件,如若文件在则弃所有内容。

  “ab”:以补加计打开一个二进制文件。

  “r+”:打开一个可读/可写的文本文件,可以本着文本读或摹写,文件未存在则操作失败。

  “w+”:创立一个初的可读/可写的公文文件,在开拓时文件被的情节吗空。

  “a+”:打开一个可读/写的公文文件。

  “rb+”:打开一个可读/写的二进制文件。

  ”wb+”:创制一个新的可读/写的二进制文件。

  ”ab+”:打开一个可读/写的二进制文件。

  打开文件:FILE *fp;

  if(fp=fopen(“c:\\tc\\test.txt”,”r”)==NULL)

  {

    printf(“Cannot open this file\n”);

    exit(0);

  }

  关闭文件:int fclose(FILE *stream)

  文件的终止:int feof(FILE* stream)

  FILE *fp;

  while(!feof(fp))

  {

    操作文件;

  }

  字符输入输出函数:int fputc(int ch,FILE *stream):重返一个通往文件所描写字符的价,此时写操作成,否则回EOF(文件停止符,值吗-1,在stdio.h中定义)表示写操作错误。

           int fgetc(FILE *
stream):再次来到文件时岗位的一个字符的ASCII值,在念操作遭遇文件截至时,函数重返一个文本了标志。

  行输入输出函数:char fgets(char *string,int n,FILE
*stream):string的实参是据为一个字符数组的指针,fgets函数从文本中读取至多n-1只字符(n用来指定要读出的字符数),stream为对某个文件之公文指针。当读入遭遇换行符,将连易行符在内的字符串放入指定的字符数组吃;当读入n-1独字符后尚未遇上换行符,则拿那些字符放入字符数组中。无论操作如何是好到,函数都在屡组吃存放的字符后加一个空字符‘\0’,表示一个字符串截止。正常读入成功时,函数重返string指针,遭受文件结束或操作失误时重回一个空指针。

           int fputs(char *string,FIle
*stream):将string所针对的字符串写副到文件指针stream所指向的文件被。当string指针所依靠的字符串成功写副常,函数重返非0值;写操作失败时,函数再次回到EOF。

  格式化输入输出函数:int fprintf(FILE *stream,char
*format,<variable-list>):重回值为实际写副文件的饱受的字符个数(字节数)。倘使写错误就算归一个负数。格式化的规定及printf话术相同。

            int fscanf(FILE *stream,char
*format,<variable-list>):读取错误再次来到EOF,否则成功。

选自:王芳《C语言程序设计》