文件类型

  • 文本文件(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. HDU4550+贪心

    /* 贪心 先挑出最小的Mm,然后在Mm左侧的按情况考虑,右侧的按顺序排列. */ #include<stdio.h> #include<string.h> #include& ...

  2. [IR] Link Analysis

    网络信息的特点在于: Query: "IBM" --> "Computer" --> documentIDs. In degree i 正比于 1/ ...

  3. windows dos命令窗口的环境变量

    今天安装maven的时候遇到mvn -v显示mvn不是命令行,环境变量maven_home和path路径都配置了. 首先查看windows下的环境变量: >set maven_home MAVE ...

  4. 开放产品开发(OPD):产品负责人的工作原则和方法

    月26日我将在2014 WOT全球软件技术峰会做相关的一个主题演讲[产品负责人的工作原则和方法],个原则和相应的一些方法. 以下是本次分享内容: 完整版如下,如果你喜欢想下载的话,点击 http:// ...

  5. 初涉SQL Server性能问题(1/4):服务器概况

    当你作为DBA时,很多人会向你抱怨:“这个程序数据加载和蜗牛一样,你看看是不是服务器出问题了?”造成这个问题的原因有很多.可能是程序应用服务器问题,网络问题,程序实现方式问题,数据库服务器负荷过重.不 ...

  6. 基于HTML5实现的Heatmap热图3D应用

    Heatmap热图通过众多数据点信息,汇聚成直观可视化颜色效果,热图已广泛被应用于气象预报.医疗成像.机房温度监控等行业,甚至应用于竞技体育领域的数据分析. 已有众多文章分享了生成Heatmap热图原 ...

  7. win 10 远程连接出现 "由于安全设置错误, 客户端无法连接到远程计算机. 确定你已登录到网络后.” 错误

    win 10 远程连接出现 "由于安全设置错误, 客户端无法连接到远程计算机. 确定你已登录到网络后.” 错误 解决方法如下: Step 1:打开"本地安全策略"- Wi ...

  8. 实例对比剖析c#引用参数的用法

    c#引用参数传递的深入剖析值类型的变量存储数据,而引用类型的变量存储对实际数据的引用.(这一点很重要,明白了之后就能区分开值类型和引用类型的差别) 在参数传递时,值类型是以值的形式传递的(传递的是值, ...

  9. 记一次纠结Macbook 重装OS X的系统

    本文所有图片都是网上截图,不是实操环境.本文不具有教学意义. 起因:Macbook 白苹果了,无限菊花. 我的Macbook 只能装 OS X Mountain Lion 10.8,但是呢 MacBo ...

  10. js小数计算小数点后显示多位小数(转)

    首先写一个demo 重现问题,我使用的是一个js在线测试环境[打开] 改写displaynum()函数 function displaynum(){var num = 22.77;alert(num ...