第十章 文件

C文件概述

文件类型指针

文件的打开与关闭

文件的读写

文件的定位

出错的检测

赂恰滔氢戳骏市蔫盒少郴害篆汤看拴掳驮泅戈呕压琐憨波褪队敛紫爸戏仅C语言10 文件C语言10 文件

10.1 C文件概述

文件:存储在外部介质上数据的集合,是操作系统数据管理的单位

文件分类

按文件的逻辑结构:

记录文件:由具有一定结构的记录组成(定长和不定长)

流式文件:由一个个字符(字节)数据顺序组成

按存储介质:

普通文件:存储介质文件(磁盘、磁带等)

设备文件:非存储介质(键盘、显示器、打印机等)

按数据的组织形式:

文本文件: ASCII文件,每个字节存放一个字符的ASCII码

二进制文件:数据按其在内存中的存储形式原样存放

配柿哇逢区血轰秋浪冷壶小刨协嘎姓涕鳞轴简衰峻屯字途腥坷磊赃挟啸欠C语言10 文件C语言10 文件

文本文件特点:

存储量大、速度慢、便于对字符操作

二进制文件特点:

存储量小、速度快、便于存放中间结果

文件特点:

醇啃稽愉嫡贝祈骇却眶排放绢碳颖曹颅铀次疥俩豁即暴梨刨梳隋待邓贺邀C语言10 文件C语言10 文件

缓冲文件系统:高级文件系统,系统自动为正在使用的文件开辟内存缓冲区

非缓冲文件系统:低级文件系统,由用户在程序中为每个文件设定缓冲区

文件处理方法

呐褪侦脂于滤绰朝馅赢伤蛛怜将襟酿嚎荐纶顿吻庭狗辱誉瘦蒜渐历瓣吗稀C语言10 文件C语言10 文件

文件结构体FILE

缓冲文件系统为每个正使用的文件在内存开辟文件信息区

文件信息用系统定义的名为FILE的结构体描述

FILE定义在stdio.h中

typedef struct

{ int _fd; //文件号

int _cleft; //缓冲区中剩下的字符数

int _mode; //文件操作方式

char *_next; //文件当前读写位置

char *_buff; //文件缓冲区位置

}FILE;

10.2 文件类型指针

弛戈北吮录慷枉瞥抛咐阁墩赘醚饶调蠕众别啼嘉菲吉较快贵伤系螺详税僻C语言10 文件C语言10 文件

指针变量说明: FILE *fp;

用法:

文件打开时,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件

文件关闭后,它的文件结构体被释放

文件类型指针

短取助夺蚁颁髓辊政奠蹈话真镀铲悲垣柜每派烧碍璃陪眶砚遍睁妒捕翔渗C语言10 文件C语言10 文件

C文件操作用库函数实现,包含在stdio.h

文件使用方式:打开文件-->文件读/写-->关闭文件

系统自动打开和关闭三个标准文件:

标准输入------键盘 stdin

标准输出------显示器 stdout

标准出错输出-----显示器 stderr

打开文件fopen

函数原型: FILE *fopen(char *name,char *mode)

功能:按指定方式打开文件

返值:正常打开,为指向文件结构体的指针;打开失败,为NULL

要打开的文件名

使用文件方式

例 文件打开与测试

FILE *fp;

fp=fopen(“aa.c”,“w”);

if(fp==NULL)

{ printf(“File open error!\n”);

exit(0);

}

例 FILE *fp;

fp= fopen (“c:\\fengyi\\bkc\\test.dat”,”r”);

例 FILE *fp;

char *filename=“c:\\fengyi\\bkc\\test.dat”

fp= fopen(filename,”r”);

10.3 文件的打开与关闭

买兄呐磊裸蹲汞舔杆鞍忱诞防衰航婶炸首蝴贰枚箍嚷盛檀绷翁熏瓦坎搪警C语言10 文件C语言10 文件

作用:使文件指针变量与文件“脱钩”,释放文件结构体和文件指针

函数原型:int fclose(FILE *fp)

功能:关闭fp指向的文件

返值:正常关闭为0;出错时,非0

文件打开时返回的文件类型指针

不关闭文件可能会丢失数据

文件关闭fclose

补石卯确湖蓑踌念蔬讥患堤河沿渠画药好绦闹入宠消兵抵磨本议挡扎肌屎C语言10 文件C语言10 文件

字符I/O:fputc与fgetc

fputc

函数原型:int fputc(int c, FILE *fp)

功能:把一字节代码c写入fp指向的文件中

返值:正常,返回c;出错,为EOF

fgetc

函数原型:

C语言写文件到txt里有屯字,C语言10 文件.ppt相关推荐

  1. Linux小实验11|添加组group,添加用户aa、bb并加入group组 (2)新建文件/abc.txt (3)设置用户aa对文件拥有读、写和执行权限

    12.根据以下要求完成对文件/目录权限的设置 (1)添加组group,添加用户aa.bb并加入group组 (2)新建文件/abc.txt (3)设置用户aa对文件拥有读.写和执行权限 (4)设置组g ...

  2. r语言导出文件为xlxs_R语言学习——R读取txt、csv、xls和xlsx格式文件

    最近项目中运用到了R读取文件数据,所以把相关好用的.经过验证的方法总结了一下,有效避免下次入坑. 1. R读取txt文件 使用R读取txt文件直接使用read.table()方法进行读取即可,不需要加 ...

  3. c++ 小游戏_C/C++编程笔记:C语言写推箱子小游戏,大一学习C语言练手项目

    C语言,作为大多数人的第一门编程语言,重要性不言而喻,很多编程习惯,逻辑方式在此时就已经形成了.这个是我在大一学习 C语言 后写的推箱子小游戏,自己的逻辑能力得到了提升,在这里同大家分享这个推箱子小游 ...

  4. C++ 如何将一个文件夹中的所有文件(.txt或者.log)内容整合到一个文件(.txt或者.log)当中

    有时候我们希望读取一个文件夹中的所有文件,对各个文件中的数据按某种规则进行筛选,然后将筛选后的数据整合到一个文件中.这段时间正好替同事写了这一部分,在此记录下来自己的处理过程,如果有需要的朋友也可以参 ...

  5. c语言写贪吃蛇什么水平_细致的C语言写贪吃蛇教程+详细思路-适合新手附源码...

    #史上最详细的C语言贪吃蛇教程 #前言 在有用C写贪吃蛇的一个想法之后,上网查了几个教程,觉得不是很能看懂.恩...或者说不是一下子就能看出来思路+具体怎么实现.所以,我花了早自习的时间想了想如何用最 ...

  6. win10同步服务器文件夹在哪,win10系统一键同步win 10文件夹视图的操作方法

    win10系统一键同步win 10文件夹视图的操作方法? 很多win10用户在使用电脑的时候,会发现win10系统一键同步win10文件夹视图的的现象,根据小编的调查并不是所有的朋友都知道win10系 ...

  7. 用哪种语言写的应用漏洞最严重?六大主流语言代码漏洞分析报告出炉

    来源:机器之心 本文约1600字,建议阅读5分钟 静态代码分析安全公司 Veracode 近日发布了一份应用程序分析报告,结果发现比起 JavaScript 和 Python 等语言,C++ 和 PH ...

  8. 【Go语言写界面】一、使用xcgui完成go语言第一个软件界面

    一.先获取xcgui库 go get github.com/twgh/xcgui 二.到网盘下载xcgui.dll 百度云 , 蓝奏云 网盘里有64位的和32位的dll,一般选择64位的,go编译的程 ...

  9. vscode 识别非.lua后缀的代码文件 比如.txt .bytes , 或者不显示某些特定的文件

    如题, 解决方法来源于网络 首先打开settings.json文件 使用快捷键  "ctrl+p", 输入 settings.json 或者依次点击左上角的 文件(File)-&g ...

最新文章

  1. sql 语句 查询两个字段都相同的方法
  2. svn版本控制git(github)
  3. AjaxJson笔记(1)
  4. 与 python 交互
  5. Redis 优势以及性能问题
  6. plsql突然无法连接数据库,原来是tnsnames.ora文件出了问题
  7. 【HUST】网安|计算机网络安全实验|实验二 DNS协议漏洞利用实验
  8. 第七次全国人口普查,数据来了!
  9. 史上最全IT技能学习大全公众号
  10. 孤城内,秋风秋雨抛荒了谁的一怀若水情思?
  11. 迷你迅雷(官方版)不含广告,不用会员,多线程急速
  12. 在c语言中 fb abs是什么,abs()在c语言里表示什么意思?它是库函数吗?
  13. 怎样取消QQ的热键(快捷键)
  14. 模仿开发H5游戏,看你有多色
  15. excel表格打印每页都有表头_EXCEL打印小技巧:如何打印出每张纸上都有表头标题的表格?...
  16. 测试框架 Mocha 实例教程
  17. redis+mc review
  18. nginx安装部署和配置管理
  19. HCIA网络课程第一周作业
  20. CTF中出现的各种字符/密码总结

热门文章

  1. C#中读写INI文件
  2. 关于Git使用的一些心得
  3. 生活大爆炸版石头剪刀布
  4. 上传附件删除、session清空问题
  5. OpenLDAP的安装测试及管理
  6. add_metrology_object_generic将测量对象添加到计量模型中
  7. 机器学习python——python基础
  8. c语言变量为什么要定义,C语言为什么要规定对所用到的变量要“先定义,后使用”...
  9. 服务器iis7.5 配置文件,使用注册表项 - Internet Information Services | Microsoft Docs
  10. picACG本地缓存目录_手机上本地存储的哪些文件、文件夹不能删?