zoukankan      html  css  js  c++  java
  • 文件输入输出(二):文件的操作

      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 ");

        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个字符后没有遇到换行符,则将这些字符放入字符数组中。无论操作如何完成,函数都在数组中存放的字符后加一个空字符‘’,表示一个字符串结束。正常读入成功时,函数返回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语言程序设计》

  • 相关阅读:
    JavaScript小技巧总结
    Table边框使用总结 ,只显示你要显示的边框
    连续字符换行及单行溢出点点点显示
    对ThreadLocal的理解个人
    Linux面试题答案解析
    com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class
    21道 Redis 常见面试题,必须掌握!
    MyBatis中的#与$
    Linux下zookeeper的搭建
    web.xml加载顺序与过程
  • 原文地址:https://www.cnblogs.com/SoundCoder/p/7670357.html
Copyright © 2011-2022 走看看