zoukankan      html  css  js  c++  java
  • 文件操作

    一、打开文件

      FILE *fp=NULL;//初始化文件指针变量

      fp=fopen("test.text","r");//test.text是文件名,r是模式

      if(fp==NULL)

        {dosomething}

      getchar();//暂时

    模式说明:

      r:只读方式,不能改变硬盘文件状态。如果文件名不存在,fp就为NULL。

      w:只写方式,要改变硬盘文件状态。如果文件文件名不存在,就新建这个文件,如果存在,就删除了再新建。

      a:追加模式,可以改变硬盘文件状态,在文件末尾添加新的数据(打开的时候不删除原有数据)。如果文件名不存在,就创建一个新文件。

      此外:r+,w+,a+,rw,wr,ar

    二、读写文件数据

      1、单字节操作

        (1)、fgetc():从指定文件中读出一个字节长的数据

          char fgetc(FILE *fp);返回数据: 如果是文本文件,返回字符;如果是二进制文件,返回一个字节。(可用r模式)

          eg:while(!feof(fp))//判断是否读取到底了
              printf("%c",fgetc(fp));//读取

        (2)、fputc():把字符写入文件中

          char fputc(char ch,FILE *fp);返回数据:写入成功返回写入字符,失败则返回-1。(ch可以是字符常量或者变量,fp模式必须可写,如w、a、r+)

          eg:while(1)

            {
            ch=getchar();
            if(ch!='#')
              fputc(ch,fp);
            else
              break;
            }

       2、字符串操作

         (1)、fgets():从指定文本文件中读到一个字符串

           char *fgets(char *str,int size,FILE *fp);返回值:str所指向的地址

           注意:读到' '和''就停止读

         (2)、fputs():向指定文件中写入字符串

           int fputs(char *str,FILE *fp);返回值:写入成功返回0,失败返回其他。(fp模式包含可写模式)

       3、格式化字符串操作函数

         (1)、fprintf():按照一定格式向文件中写入数据

           int fprintf(FILE *fp,格式化字符串,输出参数列表);fp应包含写方式

           eg:fprintf(fp,"i=%d,j=%0.2f",i,j);fprintf(fp,"abcde%s",str);

         (2)、fscanf():将某格式的数据从文件中读取出来

           int fscanf(FILE *fp,格式化字符串,输入参数列表);fp包含度方式

           eg:fscanf(fp,"i=%d,s=%s",&i,str);如果文件中:i=10,s=hello。那么最后i=10,str=hello

       4、二进制数据操作函数

         (1)、fwrite():向二进制文件中写入数据

           int fwrite(unsigned char *buff,int size,int count,FILE *fp);返回值:成功返回1,失败返回其他(fp应包含二进制写入方式,如wb,ab)

         (2)、fread():读取二进制文件中的数据

           int fread(undigned char *buff,int size,int count,FILE *fp);返回值:成功返回1,失败返回其他(fp应包含二进制读方式,如rb)

    三、关闭文件

        int fclose (FILE *fp);// 必须要close,不然程序关闭了才完成操作

        fflush(FILE *fp);//这样可以不用关闭,也可完成操作

      

  • 相关阅读:
    Appium+unittest+PageObject实例
    monkeyrunner简单用法
    Mac电脑修改系统文件夹的权限
    UIImage剪切
    LLDB 打印 frame
    打开qq在线聊天
    获取当地时间
    微信支付SDK使用心得
    获取当前星期几
    UIView相对于屏幕的frame
  • 原文地址:https://www.cnblogs.com/judes/p/5860586.html
Copyright © 2011-2022 走看看