文件类型

  • 文本文件(ASCII)

    • 简单的文本文件,可用任何文字处理程序阅读
  • 二进制文件
    • 包含 在ASCII及扩展ASCII字符中编写的数据或程序指令 的文件,通常图形文件及文字处理程序等计算机程序都属于二进制文件

文件访问模式

  • 文本文件

    • “r”

      • 打开一个已有的文本文件,允许读取文件
    • “w”
      • 打开一个文本文件,允许写入文件。若文件不存在,则创建一个新的文件
    • “a”
      • 打开一个文本文件,以追加模式写入文件。若文件不存在,则创建一个新的文件
    • “r+”
      • 打开一个文本文件,允许读写文件
    • “w+”
      • 打开一个文本文件,允许读写文件,文件会被截断为0长度。若文件不存在,则创建一个新的文件
    • “a+”
      • 打开一个文本文件,允许读写文件。从头读取,追加写入。若文件不存在,则创建一个新的文件
  • 二进制文件(对应于文本文件访问模式)
    • “rb” ~> “r”
    • “wb” ~> “w”
    • “ab” ~> “a”
    • “rb+” ~> “r+”
    • “r+b” ~> “r+”
    • “wb+” ~> “w+”
    • “w+b” ~> “w+”
    • “ab+” ~> “a+”
    • “a+b” ~> “a+”

文件操作流程

  • 打开文件

    // filename:文件路径名  mode:文件访问模式
    FILE *fopen(const char * filename, const char * mode)
  • 操作文件

    • 读取文件

      // 读取一个字符
      int fgetc(FILE *fp)
      // 读取 n-1 个字符(字符串后面有一个字符串结束标志,buf的长度为n)
      char *fgets(char *buf, int n, FILE *fp)
      // 在文件结束之前遇到空格,换行符,会提前终止
      int fscanf(FILE *fp, const char format)
    • 写入文件

      // 写入一个字符
      int fputc(int c, FILE *fp)
      // 写入一个字符串
      int fputs(const char *s, FILE *fp)
  • 关闭文件

    • 写入文件的内容,只有在调用fclose(FILE *fp)后,才会被写入到磁盘文件中

    • 在关闭文件前,读取磁盘文件,无法读取文件的最新内容(写入但未保存的内容)

      int fclose( FILE *fp )

示例

  • 文件的简单操作

    void fileOperation() {
    // 打开文件, 若不存在,则会目录/Users/mac/Desktop/下创建一个文件file.text,访问模式为:读写
    FILE *fwp = fopen("/Users/mac/Desktop/spring.txt", "r+");
    // 写入 “春已暖,花已开,什么时候去看海” 到文件中
    fputs("春已暖,花已开,什么时候去看海", fwp);
    // 关闭文件,此处可以调试写入的内容是何时保存到磁盘文件的
    fclose(fwp);
    // 读取文件
    FILE *frp = fopen("/Users/mac/Desktop/spring.txt", "r+");
    char buffer[255];
    fscanf(frp, "%s", buffer);
    printf("文件的内容为:\n%s\n", buffer);
    // 关闭文件
    fclose(frp);
    }

C语言-09-文件操作的更多相关文章

  1. C语言程序设计--文件操作

    前言 这里尝试与Python对别的方法来学习C语言的文件操作,毕竟我是Pythoner. 文件打开与关闭 Python #因为是和C语言比对,所以不使用with filename = "/e ...

  2. C语言之文件操作08——总结

    C程序的文件操作共涵盖7个例题,包括格式打印,文件读取,条件查找,矩阵的文件操作,数据格式输入及调用计算等内容. 文件操作使得程序有更强的拓展性,使其能够单独保存数据.这为程序的调试和优化打下了坚实的 ...

  3. C语言之文件操作

    C语言之文件操作 在本节我们将会讲解有关文件的读写操作: 纲要: 一些需要掌握的知识点 文件名 文件类型 数据流 文件缓冲区 文件指针 与文件操作相关的一些函数 文件的打开及关闭 文件的顺序读写 文件 ...

  4. c语言_文件操作_FILE结构体解释_涉及对操作系统文件FCB操作的解释_

    1. 文件和流的关系 C将每个文件简单地作为顺序字节流(如下图).每个文件用文件结束符结束,或者在特定字节数的地方结束,这个特定的字节数可以存储在系统维护的管理数据结构中.当打开文件时,就建立了和文件 ...

  5. c语言,文件操作总结

    C语言文件操作 一.标准文件的读写 1.文件的打开 fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程序就可用此FILE指针来 ...

  6. C语言的文件操作

    在操作系统中,为了统一对各种硬件的操作,简化接口,不同的硬件设备也被看成一个文件.对于这些文件的操作,等于是对普通文件的操作.例如,通常把显示器称为标准输出文件,printf就是想这个文件输出,把键盘 ...

  7. python day 09 文件操作

    一 初识文件操作 使⽤用python来读写⽂文件是非常简单的操作. 我们使⽤用open()函数来打开⼀一个⽂文件, 获取到⽂文件句句柄. 然后通过⽂文件句句柄就可以进⾏行行各种各样的操作了了. 根据打 ...

  8. C#语言-07.文件操作

    a. 文件操作:适用于相对简单的数据保存 i. 读写文件的步骤: . 创建文件流 . 创建读写器 . 读写文件 . 关闭读写器 . 关闭文件流 ii. FileStream(文件流),它主要用于读写文 ...

  9. Day 09 文件操作

    什么是文件 文件是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位.文件的操作是基于文件,即文件的操作核心就是:读和写.也 就是只要我们想要操作文件就是对操作系统发起请求,然后由操作系统将用户或应 ...

  10. Linux下C语言的文件操作

    代码: #include <stdio.h> #include <string.h> #include <fcntl.h> /*************基本的函数A ...

随机推荐

  1. bootstrap插件学习-bootstrap.tooltip.js

    先看bootstrap-tooltip.js的结构 var Tooltip = function ( element, options ){} // 构造器 Tooltip.prototype ={} ...

  2. 三、Authentication & sessionid

    客户在访问Django的某些敏感资料时,被要求需要先登录,客户通过/admin/login进行登录,客户登录成功后,Django给客户分配一个sessionid,后续的访问过程,客户端只需在http头 ...

  3. Hibernate中延迟加载和缓存

    什么是延迟加载? 延迟加载是指当应用程序想要从数据库获取对象时(在没有设置lazy属性值为false),Hibernate只是从数据库获取符合条件的对象的OId从而生成代理对象,并没有加载出对象 访问 ...

  4. IntelliTrace简介

    解决无法复现bug所使用的策略是在遇到bug时捕获尽可能多的信息,在使用IntelliTrace进行调试时可以充分利用这些信息.最令人称道的一个功能在于bug本身可以自动修复. 打开IntelliTr ...

  5. 0506团队项目-Scrum 项目1.0

    题目 1.应用NABCD模型,分析你们初步选定的项目,充分说明你们选题的理由. 2.录制为演说视频,上传到视频网站,并把链接发到团队博客上. 团队项目选题 金融工具:复利计算与投资记录项目继续升级,开 ...

  6. 控制网页的Panel是否显示

    在网页上有十二个Panel控件,默认状态是不显示的,根据当前月作为条件去控制对应的Panel控件显示. Insus.NET以下使用三种方法来实现它,先是第一种,使用FindControl方法 第二种方 ...

  7. 004_URL 路由 - 定制路由系统 & 使用区域

    定制路由系统 路由系统是灵活可配置的,当然还可以通过下面这两种方式定制路由系统,来满足其他需求. 1.  通过创建自定义的RouteBase实现: 2.  通过创建自定义路由处理程序实现. 创建自定义 ...

  8. CMS如何提供XML格式的接口

    在做APP的过程中,需要服务端的接口数据. 是用Json格式还是Xml格式呢,很多人会说还是xml习惯. 然而PHP更适合返回的还是json,php核心库中就包含了json编码的函数,可以直接将数组转 ...

  9. elasticsearch 之IK分词器安装

    IK分词器地址:https://github.com/medcl/elasticsearch-analysis-ik 安装好ES之后就可以安装分词器插件了 记住选择ES对应的版本 对应的有版本选择下载 ...

  10. 环境搭建二 secureCRT配置

    上一篇里面讲到了虚拟机安装,以及secureCRT的远程连接.此篇文章介绍secureCRT的配置. 颜色设置 参考   http://jingyan.baidu.com/article/a681b0 ...