zoukankan      html  css  js  c++  java
  • 【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"方式写入:

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

  • 相关阅读:
    Javajdbc
    Web Project添加Struts2框架
    CSS去除免费虚拟主机的广告心得分享
    List<T>采用delegate快速实现排序、查找等操作
    ASP.NET视频采集站核心技术分析(附送对付搜索引擎蜘蛛的贱招)
    Azure完整实例:在线日程表
    [发布]ClouderaCMS: 基于Windows Azure的开源CMS
    获取配置文件节点的值
    asp.net DataGrid排序
    checkbox 获取选中的值
  • 原文地址:https://www.cnblogs.com/streamazure/p/13034951.html
Copyright © 2011-2022 走看看