当前位置: 首页 > news >正文

文件详细操作过程(C语言)

🌞🌞🌞千淘万漉虽辛苦🌞🌞🌞
🌞🌞🌞吹尽狂沙始到金🌞🌞🌞

🌇C语言文件操作

  • 🍊文件的定义
    • 🍋什么是文件
    • 🍋文件的分类
    • 🍋文件名
    • 🍋文件有什么实际意义
  • 🍊文件实际应用
    • 🍋文件的读取方式
    • 🍋文件的打开
    • 🍋文件的关闭
    • 🍋文件打开与关闭的实际应用
    • 🍋文件顺序读写函数

🍊文件的定义

🍋什么是文件

所谓“文件”一般指:存储在外部存储介质上数据的集合。操作系统是以文件为单位对数据进行管理的,如我们用word写的一篇文章、用C语言编的一个程序要保存在磁盘上都有必须以文件的形式,并且给相应的文件要起个文件名,操作系统按文件名对文件进行处理。

操作系统为了便于管理,将各终端设备也看作是一个文件,统一按文件管理。例如,键盘是输入文件,显示器和打印机是输出文件。

🍋文件的分类

(1)程序文件

该文件类型:包括源程序文件(后缀为.c),目标文件(后缀为.obj),可执行文件(后缀为.exe)等,这类文件的内容是程序代码。

(2)数据文件

文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,
或者输出内容的文件。

本次我们主要讲解的是数据文件

🍋文件名

🍋文件有什么实际意义

一个文件要有一个唯一的文件标识,以便用户识别和引用。 文件名包含3部分:文件路径+文件名主干+文件后缀 例如:

c:\code\test.txt
//c:\code主要是文件在C盘中code文件里
//test就是你自己定义的文件名
//".txt"就是文件名后缀,当然还有其他文件名后缀

🍊文件实际应用

🍋文件的读取方式

文件使用方式含义如果指定文件不存在
“r”(只读)为了输入数据,打开一个已经存在的文本文件出错
“w”(只写)为了输出数据,打开一个文本文件建立一个新的文件
“a”(追加)向文本文件尾添加数据建立一个新的文件
“rb”(只读)为了输入数据,打开一个二进制文件出错
“wb”(只写)为了输出数据,打开一个二进制文件建立一个新的文件
“ab”(追加)向一个二进制文件尾添加数据出错
r+”(读写)为了读和写,打开一个文本文件出错
“w+”(读写)为了读和写,建议一个新的文件建立一个新的文件
“a+”(读写)打开一个文件,在文件尾进行读写建立一个新的文件
“rb+”(读写)为了读和写打开一个二进制文件出错
“wb+”(读写)为了读和写,新建一个新的二进制文件建立一个新的文件
“ab+”(读写)打开一个二进制文件,在文件尾进行读和写建立一个新的文件

🍋文件的打开

FILE *cur;//文件指针变量
//打开文件
FILE * fopen ( const char * filename, const char * mode );
//mode就是上文中提到的打开方式

🍋文件的关闭

//关闭文件
int fclose ( FILE * stream );
//stream就是创建的文件变量

🍋文件打开与关闭的实际应用

#include <stdio.h>
int main ()
{FILE * pFile;//打开文件pFile = fopen ("code.txt","w");//文件操作if (pFile!=NULL){fputs ("fopen example",pFile);//关闭文件fclose (pFile);}return 0;
}

🍋文件顺序读写函数

功能函数名适用于
字符输入函数fgetc所有输入流
字符输出函数fputc所有输出流
文本行输入函数fgets所有输入流
文本行输出函数fputs所有输出流
格式化输入函数fscanf所有输入流
格式化输出函数fprintf所有输出流
二进制输入fread文件
二进制输出fwrite文件
http://www.lryc.cn/news/214955.html

相关文章:

  • python使用ffmpeg来制作音频格式转换工具(优化版)
  • Debug技巧-不启用前端访问后端
  • 由CAB/PAB展开的一些思考
  • 系列十五、idea全局配置
  • 高德Go生态建设与研发实践
  • SpringCloud中Turbine 1.X版本BUG
  • SCSS的用法有哪些?分别举例
  • Spring controller层请求数据和响应数据的简单方法
  • 中国商界杂志中国商界杂志社中国商界编辑部2023年第10期目录查询
  • 记录 vue + vuetify + electron 安装过程
  • 短视频账号矩阵系统saas源码搭建/技术
  • 词向量模型Word2Vec
  • 公会发展计划(GAP):经过实战考验的 Web3 任务模式
  • 网络工程师基础知识(2)
  • 创建ABAP数据库表和ABAP字典对象-理解表字段02
  • 2021-arxiv-GPT Understands, Too
  • 【Spark】What is the difference between Input and Shuffle Read
  • redis相关的一些面试题?
  • 什么是Babel?它的主要作用是什么?
  • 【APP】go-musicfox - 一款网易云音乐命令行客户端, 文件很小Mac版本只有16.5M
  • P1284 三角形牧场
  • 【Linux】:Linux开发工具之Linux编辑器vim的使用
  • PFMEA详解结构分析——Sun FMEA软件
  • Qt扫盲-QFutureWatcher理论总结
  • 对比学习(contrastive Learning)
  • 译文:我们如何使 Elasticsearch 7.11 中的 date_histogram 聚合比以往更快
  • python设计模式4:适配器模式
  • kubectl资源管理命令---声明式
  • IDEA使用-通过Database面板访问数据库
  • 单片机如何写好一个模块的驱动文件