C语言-09-文件操作

时间:2022-09-01 13:57:21

文件类型

  • 文本文件(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. 2019年台积电进军AR芯片,将用于下一代iPhone

    近日,有报道表示台积电10nm 芯片可怜的收益率可能会对 2017 年多款高端移动设备的推出产生较大的影响,其中自然包括下一代 iPhone 和 iPad 机型.不过,台积电正式驳斥了这一说法,表明1 ...

  2. python画图设置坐标轴大小

    在console端输入python语句,会一句输一行,而且不保留你所做的操作,但是每一句之间加一个分号就能很好的解决. import pylab as Plot Plot.xlim(-150, 150 ...

  3. onSaveInstanceState&lpar;&rpar; 和 onRestoreInstanceState&lpar;&rpar;

    本文介绍Android中关于Activity的两个神秘方法:onSaveInstanceState() 和 onRestoreInstanceState(),并且在介绍这两个方法之后,再分别来实现使用 ...

  4. Android 学习笔记 BroadcastReceiver广播&period;&period;&period;

    PS:不断提升自己,是件好事... 学习内容: 1.BroadcastReceiver的使用.. 2.通过BroadcastReceiver去启动Service... 1.BroadcastRecei ...

  5. java-swing在组件中显示信息

    package com.http; import java.awt.*; import javax.swing.*; public class TestSwing2 { //创建了一个能够绘制的组件 ...

  6. iOS 原生地图(MapKit、MKMapView)轨迹渐变

    WechatIMG2.png 项目已接入高德地图,并且大部分功能已经实现好,但BOSS觉得iOS自带的地图效果更好...本着面向老板编程的思想,换之.还好,高德地图是在MapKit上封装的,大部分ap ...

  7. 进度条(ProgressBar)的功能与用法

    进度条也是UI界面中一种非常实用的组件,通常用于向用户显示某个耗时操作完成的的百分比.进度条可以动态的显示进度,因此避免长时间的执行某个耗时的操作,让用户感觉程序失去了响应,从而更好的提高用户界面的友 ...

  8. 变相实现textarea文本域

    效果图: html: <div> <form action=""> <div class="ta-div" contentedit ...

  9. &lbrack;视频&rsqb;K8飞刀 S2-020 exploit getshell 动画教程

    [视频]K8飞刀 S2-020 exploit getshell 动画教程 链接:https://pan.baidu.com/s/1G5x7Dcu6pzHz6ZfSCDDmKA 提取码:05kw

  10. python解释器介绍以及Pycharm的破解

    python语言是弱类型解释型语言,弱类型指的是没有强制规定它的类型. 由于是解释型语言,则必有解释器与其匹配,根据不同的工作环境以及需求,python的解释器有很多种, 官方推荐的是CPython, ...