文件类型

  • 文本文件(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. 两分钟了解REACTIVEX

    可能在之前,你就已经看过这篇响应式编程的入门.什么?太长?好吧,这都没关系,Rx并不难,你甚至可以自己实现一个这样的框架. 知道数组吧?你当然知道,这就是: [ 14, 9, 5, 2, 10, 13 ...

  2. Hadoop第6周练习—在Eclipse中安装Hadoop插件及测试(Linux操作系统)

    1    运行环境说明 1.1     硬软件环境 1.2     机器网络环境 2    :安装Eclipse并测试 2.1     内容 2.2     实现过程 2.2.1   2.2.2   ...

  3. 拓扑图弹力布局呈现Flickr图片搜索结果

    十年前有值得分享的图片我都存在Flickr上,可惜yahoo收购了Flickr之后堕落​好多年,最近yahoo在梅姐带领下Flickr团队终于恢复了生机,个人免费存储空间扩充到了1T,界面用户体验也有 ...

  4. CSS布局 -- 左右定宽,中间自适应

    左右定宽,中间自适应 有几种方法可以实现 改变窗口大小看看? 方案一: 左右设置绝对定位,定宽,中间设置margin-left  margin-right 查看 demo <!DOCTYPE h ...

  5. 2015年百度之星初赛(1) --- B 找连续数

    找连续数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  6. 用c#写的一个局域网聊天客户端 类似小飞鸽

    用c#写的一个局域网聊天客户端 类似小飞鸽 摘自: http://www.cnblogs.com/yyl8781697/archive/2012/12/07/csharp-socket-udp.htm ...

  7. 以对象的方式来访问xml数据表(三)

    怎样以对象的方式来访问xml数据表? 在讲如何具体实现(二)中所说的专门用于访问xml文件的动态链接库之前,我们先来看看这个动态链接库具体要实现什么功能. 动态链接库IXmlDB.dll的功能: 1. ...

  8. csharp: WebBrowser read baidumap

    setpoint.html: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Typ ...

  9. 做java工作整整1年了,看到了大牛的奋斗历程,我感觉自己又有目标了

    2014年6月,刚刚踏上社会那会儿,我记得我第一次面试啥都不知道,穿的也不修边幅去应聘一家4s销售,面试官看到我,我明细感觉到了对方厌恶的神色,这是我上社会的第一课,找工作不管是什么工作,衣着得体,是 ...

  10. floyd离散,最小环

    Description 杭州有N个景区,景区之间有一些双向的路来连接,现在8600想找一条旅游路线,这个路线从A点出发并且最后回到A点,假设经过的路线为V1,V2,....VK,V1,那么必须满足K& ...