• 【C语言】文件操作


    一、文件的储存形式

    分为文本(ASCII码)文件二进制文件两类。

    文本文件

    文件每一个字节存放一个ASCII码,代表一个字符。如整数123在文本文件中占3个字节。

    二进制文件

    将数据以其在内存中的形式原样存放。如整数123和整数1234在二进制文件中均占4个字节。

    二、文件操作

    //文件指针变量
    FILE *fp;
    
    //文件打开函数
    FILE *fopen(const char *filename,const char *mode);
    //返回值为一个文件指针变量
    //参数为文件名及使用方式
    
    //文件关闭函数
    int fclose(FILE *fp);
    //返回值为0(成功关闭)或非零值(关闭失败)
    //参数为文件指针
    
    //从文件读入
    int fscanf(FILE *fp,const char*format,...);
    //例
    fscanf(fp,"%d,%f",&i,&a);
    
    //输出到文件
    int fprintf(FILE *fp,const char*format,...);
    //例
    fprintf(fp,"%d,%f",a,b);
    
    //容错处理
    //如,当文件指针为空时终止进程
    if((fp=fopen("input.txt","w"))==NULL){
      printf("文件打开失败!");
      exit(0);
    }
    //exit(0)为正常退出
    //exit(非零值)为异常退出
    
    //从文件读入字符
    int fgetc(FILE *fp);
    //返回值为一个字符
    //如果读到文件结束符则返回EOF
    
    //输出字符到文件
    int fputc(int ch,FILE *fp);
    //返回值为一个字符(如果成功写入)或EOF
    
    //检测文件位置函数
    int feof(FILE *fp);
    //如果读到文件尾返回非零常数,否则返回0
    
    //从文件读入字符串
    char *fgets(char *str,int n,FILE *fp);
    //读入最多n-1个字符并在末尾添加'',然后存入str
    //返回值为字符串首地址
    
    //输出字符串到文件
    int fputs(const char *s,FILE *fp);
    //返回值为一个非负数(如果成功输出),否则返回EOF
    
    //读写数据块
    
    //从文件读入学生数据
    for(int i=1;i<=30;i++)
      fread(&stu[i],sizeof(struct student),1,fp);
    
    //输出学生数据到文件
    for(int i=1;i<=30;i++)
      fwrite(&stu[i],sizeof(struct student),1,fp);
    
    文件使用方式 含义
    "r"(只读) 打开文本文件(输入)
    "w"(只写) 打开文本文件(输出)
    "a"(追加) 向文本文件尾加数据
    "rb"(只读) 打开二进制文件(输入)
    "wb"(只写) 打开二进制文件(输出)
    "ab"(追加) 向二进制文件尾加数据
    "r+"(读写) 打开文本文件
    "w+"(读写) 新建文本文件
    "a+"(读写) 打开文本文件
    "rb+"(读写) 打开二进制文件
    "wb+"(读写) 新建二进制文件
    "ab+"(读写) 打开二进制文件

    以"w"方式写入:

    如果文件已经存在,则删去原文件并重新建立;否则新建一个文件

    以"a"方式写入:

    如果文件已经存在,则在原数据末尾写入新数据;否则新建一个文件

  • 相关阅读:
    fetch jsonp请求接口
    mysql explain执行计划详解
    MySQL主从复制与读写分离 --非原创
    C#修改文件或文件夹的权限,为指定用户、用户组添加完全控制权限
    Mysql有没有语法可以在增加列前进行判断该列是否存在
    .net4.0注册到IIS ,重新注册IIS ,iis注册
    C#操作IIS程序池及站点的创建配置
    .net C# 对虚拟目录IIS的操作
    I​n​n​o​ ​s​e​t​u​p​ ​常​用​修​改​技​巧
    innosetup语法详解
  • 原文地址:https://www.cnblogs.com/streamazure/p/13034951.html
Copyright © 2020-2023  润新知