C 程序设计北京林业大学10%第10章 文件.ppt

合集下载

承钢集团南山地下输料隧道防水堵漏施工

承钢集团南山地下输料隧道防水堵漏施工

10. 2 5 的质量比配制, 搓成料团状, 放置几分钟后以 平捏有硬感为宜开始施工; 用手将料团按在渗漏出水 处, 并用木棒等工具挤压, 料团凝固后即起到堵漏防 渗作用 � 如料团凝固后渗漏仍不止, 可重复以上操作, 直至裂缝不再渗漏出水� 3. 5 埋设泄水管及安装止水针头 结构通缝在封堵过程中水压会逐渐加大, 因此可 留 1 2 个结构裂缝出水点来安装泄水管,泄水管一 聚乙烯加强水管 �泄水管安装完工
渗漏主要集中在平台和地道交汇后浇带处以及平台 � 水堵漏效果 � 该灌浆材料最大优点是能在低温 (0 5 坡道其他部位� 该隧道位于南山脚下的盆地区,周边有滦河流 ) 情况下进行堵水作业, 适合北方冬季进行堵漏施 工�产品主要性能指标见表 2 �
26
1 06
地铁与隧道防水

"水不漏" 性能指标
的位置 � 3. 4 用 " 水不漏" 封堵 对结构渗漏缝和剔凿边缘出水处, 用 "水不漏 " 进 水=
地铁与隧道防水
承钢集团南山地下输料 隧道防水堵漏施工
王国庆 1, 刘 涛 1, 王利东 2
(1. 天津市奇才防水材料工程有限公司, 天津 300384 ; 2. 天津市奇才承德总经销处, 河北 承德 067000 )
摘要: 介绍了承钢集团南山地下输料隧道 渗漏情况, 详细阐述 了工程采取的 "水不漏" 封堵+ 聚氨酯浆料注浆的治理工艺� 关键词: 隧道; 渗漏; 聚氨酯灌浆材料 文章编号: 1007-4 9 7 (2010 ) -06-0026-03 中图分类号: U4 5 ; TU761. 1+1 文献标识码: B
技术指标 项 目 � 型 型
� 初凝/ 10 2 ,10 凝结时间 � 行封堵, 具体方法是将温水和 " 水不漏 " 按照粉料 终凝/ 36 0 15 抗压强度/ 1 3 1 3 (7 ) 涂层 试件 13. 0 3. 0 0. 4 1. 5 1. 4 4. 5 15. 0 1. 5 4. 0 1. 5 1. 2

Ctrl组合快捷键大全作用大全:

Ctrl组合快捷键大全作用大全:

C t r l组合快捷键大全作用大全:-CAL-FENGHAI.-(YICAI)-Company One1Ctrl组合快捷键大全作用大全:Ctrl+A 全选(字体、文件或文件夹)Ctrl+B 整理收藏夹Ctrl+C 复制(字体、文件或文件夹)Ctrl+D 将当前Web页添加到收藏夹Ctrl+E 打开系统或Internet搜索Ctrl+F 查找Ctrl+I 收藏夹Ctrl+L 打开键入的文档或文件夹的Internet地址Ctrl+N 新建文件或在新窗口打开当前Web页Ctrl+O 打开键入的文档或文件夹的Internet地址Ctrl+P 打印Ctrl+R 刷新Ctrl+V 粘贴(字体、文件或文件夹)Ctrl+X 剪切(字体、文件或文件夹)Ctrl+Z 撤消(字体、文件或文件夹)Ctrl+Shift 转换输入法Ctrl+B 加粗Ctrl+U 下划线………以下是一些Windows常用快捷键(适用于WINDOWS系列的系统及相对应命令的程序)CTRL+C――――复制CTRL+X――――剪切CTRL+V――――粘贴CTRL+S――――保存CTRL+Z――――撤消DELETE―――删除或SHIFT+DELETE―永久删除所选项CTRL+A――――选中全部内容。

ALT+TAB―――切换当前程序ALT+F4 ―――关闭当前应用程序打开“打开文件”对话框CTRL+P 打开“打印”对话框CTRL+S 保存当前操作的文件CTRL+X 剪切被选择的项目到剪贴板CTRL+INSERT 或CTRL+C 复制被选择的项目到剪贴板SHIFT+INSERT或CTRL+V 粘贴剪贴板中的内容到当前位置ALT+BACKSPACE或CTRL+Z撤销上一步的操作ALT+SHIFT+BACKSPACE 重做上一步被撤销的操作Windows键+M 最小化所有被打开的窗口。

Windows键+CTRL+M 重新将恢复上一项操作前窗口的大小和位置Windows键+E 打开资源管理器Windows键+D显示桌面Windows键+F 打开“查找:所有文件”对话框Windows键+R 打开“运行”对话框Windows键+BREAK 打开“系统属性”对话框Windows键+CTRL+F 打开“查找:计算机” SHIFT+F10或鼠标右击打开当前活动项目的快捷菜单SHIFT 在放入CD的时候按下不放,可以跳过自动播放CD。

替代SF6的环保气体研究进展

替代SF6的环保气体研究进展

替代SF6的环保气体研究进展马亚锋;魏攀;杨会娥【摘要】介绍了绝缘气体六氟化硫(SF6)替代物N2/SF6混合气体、CF3I、c-C4 Fs、CF4、C4F7N(全氟异丁腈)、C5F10O(全氟五碳酮)等的特性,并对潜在替代物C4F7N、C5F10O的合成方法、分解及产物对绝缘气体的绝缘性质影响进行了分析,总结了其混合技术对当前电力设备应用所需要的环境温度、绝缘性能及全球变暖潜能值(GWP)的影响.【期刊名称】《有机氟工业》【年(卷),期】2018(000)004【总页数】5页(P58-62)【关键词】SF6;CF3I、N2/SF6 昆合气体;c-C4F8;CF4;C4F7N;C5F10O;替代物【作者】马亚锋;魏攀;杨会娥【作者单位】中化近代环保化工(西安)有限公司,陕西西安710201;中化近代环保化工(西安)有限公司,陕西西安710201;中化近代环保化工(西安)有限公司,陕西西安710201【正文语种】中文0 前言绝缘气体六氟化硫(SF6)因其具有高的绝缘强度、极优秀的灭弧表现和一般情况下不易液化、无毒、易处理等特点已经成为电力工业中被最广泛使用的绝缘气体[1]。

然而,因其具有高的全球变暖潜能值,在大气中能够稳定存在3 200 a,全球变暖潜能值为CO2的23 900倍,国际上已将SF6列为必须限制使用的6种温室气体之一[2],因此,寻找可替代SF6的气体已迫在眉睫。

1 替代SF6的环保气体近年来,国内外科学家为了寻找可以替代SF6的气体或混合气体,进行了大量的试验和理论研究[3]。

N2/SF6混合气体、CF3I、c-C4F8、CF4、C4F7N、C5F10O等都作为SF6的替代气体被研究。

国家标准与技术研究所确定SF6与氮气或氦气或二氧化碳的混合物作为可能的替代品。

一些其他的替代混合物遭受电弧放电过程中游离碳的释放、在电弧放电过程中或电弧放电之后毒性增加,且在储存、回收和再循环过程中气体处理难度增加[4]。

c语言程序设计基本步骤

c语言程序设计基本步骤

c语言程序设计基本步骤一、turbo c程序设计基本步骤程序设计方法包括三个基本步骤:第一步: 分析问题。

第二步: 画出程序的基本轮廓。

第三步: 实现该程序。

3a. 编写程序3b. 测试和调试程序3c. 提供数据打印结果下面, 我们来说明每一步的具体细节。

第一步: 分析问题在这一步, 你必须:a. 作为解决问题的一种方法, 确定要产生的数据(输出)。

作为这一子步的一部分, 你应定义表示输出的变量。

b. 确定需产生输出的数据(称为输入), 作为这一子步的一部分, 你应定义表示输入的变量。

c. 研制一种算法, 从有限步的输入中获取输出。

这种算法定义为结构化的顺序操作, 以便在有限步内解决问题。

就数字问题而言, 这种算法包括获取输出的计算, 但对非数字问题来说, 这种算法包括许多文本和图象处理操作。

第二步: 画出程序的基本轮廓在这一步, 你要用一些句子(伪代码)来画出程序的基本轮廓。

每个句子对应一个简单的程序操作。

对一个简单的程序来说, 通过列出程序顺序执行的动作,便可直接产生伪代码。

然而, 对复杂一些的程序来说, 则需要将大致过程有条理地进行组织。

对此, 应使用自上而下的设计方法。

当使用自上而下的设计方法时, 你要把程序分割成几段来完成。

列出每段要实现的任务, 程序的轮廓也就有了, 这称之为主模块。

当一项任务列在主模块时,仅用其名加以标识, 并未指出该任务将如何完成。

这方面的内容留给程序设计的下一阶段来讨论。

将程序分为几项任务只是对程序的初步设计。

整个程序设计归结为下图所示的流程图1.。

┏━━━━━━━━━━━━━━━┓┃ 主模块┃┏━━━━━━━┓ ┃ 输入数据┃┃ 主模块┃ ┃ 计算购房所需的金额┃┃ ┃ ┃ 计算装修所需的金额┃┃ 任务1 ┃ ┃ 计算总金额┃┃ 任务2 ┃ ┃ 输出计算结果┃┃ 任务3 ┃ ┃ ┃┃ 任务4 ┃ ┗━━━━━━━┳━━━━━━━┛┃ ┃ ┏━━━━━┳━━━━━╋━━━━┳━━━━━┓┃ ┃ ┏━━┻━┓┏━━┻━┓┏━━┻━┓┏━┻━┓┏━━┻━┓┗━━━━━━━┛ ┃输入数据┃┃购房额..┃┃装修额..┃┃总额..┃┃输出结果┃┗━━━━┛┗━━━━┛┗━━━━┛┗━━━┛┗━━━━┛图1. 程序初步设计图2. 第二级程序设计如果把主模块的每项任务扩展成一个模块, 并根据子任务进行定义的话, 那么, 程序设计就更为详细了(见图2.)。

第1章 C语言概述(国考二级)

第1章  C语言概述(国考二级)

1.2 C语言简介
3.可执行程序 目标程序与库函数连接,形成完整的可在操 作系统下独立执行的程序称为可执行程序。 可执行程序的扩展名为“.exe”(在 DOS/Windows环境下)。 用户在编辑完C语言源程序(*.c)后,可以通 过编译将源程序生成二进制的目标文件 (*.obj)文件,然后再将目标文件连接生成 可执行文件(*.exe)。
了程序的某一层次结构。{}一般与该结构语句 的第一个字母对齐,并单独占一行。
3.低一层次的语句或说明可以比高一层 次的语句或说明缩进若干字符后书写(一般 缩进2个英文字符),以便看起来更加清晰, 增加程序的可读性。
1.2 C语言简介
1.2.4 C程序的几种类型文件 1.源程序 C语言源程序的扩展名为“.c”。 2.目标程序 源程序经过编译程序翻译所得到的二进制代 码称为目标程序,目标程序的扩展名为 “.obj”。
1.1 程序设计的基本概念
计算机硬件能直接执行的是机器语言程序,机器语言 都是二进制代码。汇编语言也称符号语言,用汇编语 言编写的程序称汇编语言程序。而高级语言因为代码 与人类语言相近,容易理解,成为现在主流编程语言。 汇编语言和高级语言都必须编译成机器语言才能执行。
高级语言程序设计经过多年的发展,分成两类:面向 过程的程序设计和面向对象的程序设计。面向过程语 言如Pascal和C等命令式语言;面向对象的程序设计语 言如C++、Java、Visual C++、Visual Basic、Visual C#.net等。
1.2 C语言简介
本书以Turbo C 2.0和Visual C++6.0为学习的平 台,分别简称为TC和VC。这两个平台在C/C++ 学习与实验系统中能直接调用并运行,方便 了在图形化操作系统下调试C语言的过程。因 为部分程序在这两个平台运行结果不同,其 不同之处在后面章节中都进行了说明。

2023-2024学年广东省广州市番禺区高二(上)期末数学试卷【答案版】

2023-2024学年广东省广州市番禺区高二(上)期末数学试卷【答案版】

2023-2024学年广东省广州市番禺区高二(上)期末数学试卷一、选择题:本题共8小题,每小题5分,共40分。

在每小题给出的四个选项中,只有一项是符合题目要求的。

1.若全集U =R ,集合A ={0,1,2,3,4,5},B ={x |x ≥3},则A ∩B =( ) A .{0,1,2}B .{3,4,5}C .{0,1,2,3}D .{4,5}2.若复数z =i (2+i ),则|z |=( ) A .1B .√2C .5D .√53.在下列条件中,一定能使空间中的四点M ,A ,B ,C 共面的是( ) A .OM →=2OA →−OB →−OC →B .OM →=14OA →+14OB →+14OC →C .OM →+OA →+OB →+OC →=0→D .OM →=16OA →+13OB →+12OC →4.已知直线l 经过点P (0,1),且它的一个方向向量为(1,2),则直线l 的方程为( ) A .2x ﹣y ﹣1=0B .x +2y ﹣2=0C .2x ﹣y +1=0D .2x +y +1=05.番禺图书馆新谊是一个集知识、信息、文化为一体的综合性阅读场所.在一段时间内,若甲同学前往图书馆新馆的概率为0.5,乙前往图书馆新馆的频率为0.8,且甲、乙两人各自行动,则在此段时间内,甲、乙两人至少有一人前往番禺图书馆新馆的概率是( ) A .0.9B .0.8C .0.5D .0.46.设点F 为双曲线C :x 2a 2−y 2b 2=1(a >0,b >0)的右焦点,O 为坐标原点,以OF 为直径的圆与双曲线C 的渐近线交于A ,B 两点(均异于点O ).若|AB |=|OF |,则双曲线C 的离心率为( ) A .√2B .√3C .2D .√57.如图,在棱长为1的正方体ABCD ﹣A 1B 1C 1D 1中,点E 在BD 上,点F 在CB 1上,则EF 的最小值为( )A .1B .√22C .√33 D .128.蜜蜂是母系社会生物.蜂后产的卵若能受精则孵化为雌蜂,若不能受精则孵化为雄蜂,即雄蜂是“有母无父”,雌蜂是“有父有母”的.如图是某只雄蜂的家系图,规定:其“父母”为上溯第1代祖辈,其“祖父母”为上溯第2代祖辈,以此类推.记F n 表示该雄蜂上溯第n 代的祖辈数量,例如F 1=1.那么,下列结论中正确的是( )A .F 7+F 9>F 10B .F 8+F 10>2F 9C .F 8+F 9>F 7+F 10D .4F 5+F 9>F 10二、选择题:本题共4小题,每小题5分,共20分。

C语言程序设计概述

C语言程序设计概述

C语言程序设计概述1.算法的描述有哪些基本方法?2.C语言程序的基本结构是怎样的?举一个例子说明。

3.C语言有什么特点?4.指出合法与不合法的标识符命名。

ABl2 leed_3 a*b2 8stu D.K.Jon EF3_3PAS if XYZ43K2 ave#xy 762 #_DT5 C.D5.说明下列Turbo C热键的功能。

F2 F10 F4 Ctrl+F9 Alt+F56.在Turbo C方式下输入并运行下列程序,记录下运行结果。

(1)main( ){printf(″**************************\n″)printf(″welcome you \n″)printf(″very good \n″)printf(″**************************\n″)}(2) main( ){int a,b,c,t;printf(″please input three numbers;″);Scanf(″%d,%d,%d″,&a,&b,&c);T=max(max(a,b),c) ;printf(″max number is:%d\n″,t);}int max(int x,int y){ int z;if ( x>y) z=x;else z=y;return(z);}7.一个C程序是由若干个函数构成的,其中有且只能有一个函数。

8.在Turbo C环境下进行程序调试时,可以使用Run下拉菜单的命令或按键转到用户屏幕查看程序运行结果。

9.C语言对标识符与关键字有些什么规定?10.C源程序输入后是如何进行保存的?第2章C语言的基本数据类型与表达式1.指出下列常数中哪些是符合C语法规定的。

′\′′101′″\″ e3 019 0x1e ″ab\n″ 1.e5(2+3)e(4-2) 5.2e2.52.请找出下列程序中的错误,改正后写出程序运行结果。

(1)void main( ){ int x,y=z=5,aver;x=7AVER=(x+y+z)/3printf(″AVER=%d\n″,aver)}(2)void main( ){char c1=′a′; c2=′b′; c3=′c′;int a=3.5 ,b=′A′printf(″a=%db=\′%c\′\″end\″n″,a,b) ;printf(″a%cb%c\bc%c\tabc\n″,c1,c2,c3);}3.写出下列赋值的结果,表格中写了数值的是要将它赋给其他类型的变量,将所有的4.写出程序运行结果。

数据结构C语言

数据结构C语言

数据结构(C语言)数据组织(数据、数据元素、数据项)的三个层次:数据可由若干个数据元素构成,而数据元素又可以由一个或若干个数据项组成。

四种基本的数据结构:集合、线性结构、树形结构、图状结构。

顺序存储的特点是在内存中开辟一组连续的空间来存放数据,数据元素之间的逻辑关系通过元素在内存中存放的相对位置来确定。

链式存储的特点是通过指针反映数据元素之间的逻辑关系。

数据类型:原子类型、结构类型。

线性表定义:线性表是n个数据元素的有限序列。

线性表的顺序存储结构:表中相邻的元素a和b所对应的存储地址A和B 也是相邻的。

(也就是数据都是按照表中情况进行连续存储的情况)线性表的链式存储结构:该线性表中的数据元素可以用任意的存储单元来存储。

表中的各个相邻的数据(元素)是通过一个指针地址来进行链接的,以找到下一个数据(元素)在哪。

其形式一般为:数据地址线性表的顺序和链式存储结构的比较:在线性表的长度变化比较大,预先难以确定的情况下,最好采用动态链表作为存储结构。

当线性表的长度变化不大时,采用顺序存储结构比较节省存储空间。

在顺序表结构的线性表上主要进行查找、读取而很少做插入和删除的操作。

链式结构的线性表中比较适应做插入和删除的操作。

一元多项式的加减法运算可先将一元多项式进行了改变存储之后再进行运算比较适宜,将一元多项式转换为用在内存中的前一项表示阶数,后一项表示对应该阶数的系数。

然后利用这种形式进行加减运算。

栈和队列栈是限定在表的同一端进行插入或删除操作的线性表,即进栈、出栈。

(特殊的线性表)栈的顺序存储结构:利用一组地址连续的存储单元依次从栈底到栈顶存放数据元素,栈底位置固定不变,可将栈底设在向量低下标的一端。

栈的链式存储结构:用单链表作为存储结构的栈称为链栈,链表的最后一个结点表示栈底,第一个结点表示栈顶。

队列也是一种特殊的线性表。

它所有的插入操作均限定在表的一端进行,而所有的删除操作则限定在表的另一端进行。

允许删除元素的一端称为队头,允许插入元素的一端称为队尾,删除元素称为出队,插入元素称为进队。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)用“w”方式打开的文件只能用于向该文件 写数据,而不能用来向计算机输入。
如果原来不存在该文件则在打开时新建立一个以指定 的名字命名的文件。
如果原来已存在一个以该文件名命名的文件,则在打 开时将该文件删去,然后重新建立一个新文件。
11
北京林业大学 软件教研室
(3)如果希望向文件末尾添加新的数据(不希望 删除原有数据),则应该用"a"方式打开。但此时 该文件必须已存在,否则将得到出错信息。打开 时,位置指针移到文件末尾。
gets和puts函数以字符串为读写对象 fgets和fputs函数以指定的文件为读写对象。
21
北京林业大学 软件教研室
(3)fscanf和fprintf函数
fscanf、fprintf函数与scanf、printf函数的作用相 仿,但scanf和printf函数的读写对象是终端(屏 幕),而fscanf和fprintf函数的读写是磁盘文件。
如果想从一个磁盘文件顺序读入字符并在屏幕 上显示出来,可以用以下程序段来实现:
ch=fgetc(fp); while(ch!=EOF) { putchar(ch);
ch=fgetc(fp); }
18
北京林业大学 软件教研室
fputc函数的功能是把一个字符写到磁盘文件 上去。
fputc(ch,fp);
(4)用"r+"、"w+"、"a+"方式打开的文件既可以 用来输入数据,也可以用来输出数据。
① 用"r+"方式时该文件应该已经存在。 ② 用"w+"方式则新建立一个文件,先向此文件写数据,
然后可以读此文件中的数据。
③ 用"a+"方式打开的文件,原来的文件不被删去,位 置指针移到文件末尾,可以添加,也可以读。
4
北京林业大学 软件教研室
对文件的读写操作有两种方式: 顺序文件操作
从文件的第一个字符(字节)开始顺序地处理 到文件的最后一个字符(字节)。
只能从文件的开始处依次顺序读写文件内容, 而不能任意读写文件内容。
随机文件操作
在文件中通过C++相关的函数移动文件指针, 并指向所要处理的字符(字节)。
可以在文件中来回移动文件指针和非顺序地读 写文件内容。
当函数成功调用后则返回文件的当前读写位置,否则 返回-1。
27
北京林业大学 软件教研室
10.2 通过文件流进行操作
10.2.1 流类库概述 输入和输出是数据传送的过程,数据像流水一
样从一处流向另一处,C++中形象地将此过程 称之为流(stream)。 在C++中输入输出流被定义为类,称为流类。 用流类定义的对象称为流对象。
能快速地检索、修改和删除文件中的信息。
5
北京林业大学 软件教研室
10.1 通过FILE结构进行文件操作
C++保留了ANSI C对文件的处理方式,程序对每个 文件都使用一个单独的FILE结构来处理。
每个被使用的文件都在内存中开辟一个区,用来存放 文件的有关信息(如文件的名字、文件状态、文件当 前位置等)。
例如:
fread(f,4,2,fp);
23
北京林业大学 软件教研室
(2)文件定位函数
文件的随机读写就是可以将文件指针直接定 位在所要求读写的位置上,而不必从文件头 开始直到要求的位置再进行读写。
① rewind函数 rewind函数的功能是使位置指针重新返回到
文件的开头。该函数没有返回值。
rewind(文件指针);
24
北京林业大学 软件教研室
② fseek函数
fseek函数的功能是将文件指针移动到指定的位置上
fseek(文件指针,偏移量,起始点)
其中,“偏移量”指以“起始点”为基点,向前移 动的字节数。
“起始点”可以是文件开始、文件当前位置、文件 末尾3种,如表所示。
25
北京林业大学 软件教研室
例如:
fseek(fp,100,0); //将位置指针移到离文件头100个字节处
fprintf(文件指针,格式字符串,输出表列);
fscanf(文件指针,格式字符串,输入表列);
例如:
fprintf(fp,”%d,% f”,i,t);
22
北京林业大学 软件教研室
2.随机文件操作
fwrite函数的功能是用来读写一个数据块。
fread(buffer,size,count,fp); fwrite(buffer,size,count,fp); buffer是一个指针,是读入或输出数据的地址。 size是要读写的字节数。 count是要进行读写多少个size字节的数据项。 fp为文件型指针。
13
北京林业大学 软件教研室
(6)用以上方式可以打开文本文件或二进制文件, 这是ANSI C的规定,用同一种缓冲文件系统来处 理文本文件和二进制文件。
14北京林业大学 软件教研室来自10.1.2 关闭文件
关闭”就是使文件指针变量不指向该文件,除非再次 打开,使该指针变量重新指向该文件。
用fclose函数可以实现文件的关闭操作。
每次调用完相应的读函数,文件的指针都将自动移 动到下一次读写的位置上。
文件的写操作是指将程序中的数据写到磁盘文件中, 因此该文件必须以写或读写的方式打开。
每次调用完相应的写函数,文件的指针都将自动移 动到下一次读写的位置上。
16
北京林业大学 软件教研室
1.顺序文件操作 (1)fgetc和fputc函数 fgetc函数的功能是从指定的文件读入一个字符,该
fputc函数如果输出成功则返回值就是输出的 字符;如果输出失败,则返回一个EOF(即1)。
【例10-2】将一个磁盘文件中的信息复制到另 一个磁盘文件中。
19
北京林业大学 软件教研室
(2)fgets和fputs函数 fgets函数的功能是从指定文件读入一个字符
串如:
fgets(str,n,fp);
要打开名字为abc.txt的文件;
文件的使用方式为“读入”
fopen函数带回指向abc.txt文件的指针并赋给 fp,这样fp就和文件abc.txt相联系了,或者说 fp指向abc.txt文件。
9
北京林业大学 软件教研室
在打开一个文件时,通知给编译系统以下3个 信息:
(1)需要打开的文件名,也就是准备访问的文件 的名字。
(2)使用文件的方式(“读”还是“写”等)。 文件的使用方式如表所示。
(3)让哪一个指针变量指向被打开的文件。
10
北京林业大学 软件教研室
说明:
(1)用"r"方式打开的文件只能用于向计算机输入 而不能用作向该文件输出数据,而且该文件应该 已经存在,不能用"r"方式打开一个并不存在的 文件,否则出错。
如 cin 和 cout 并 不 是 C++ 所 提 供 的 语 句 , 而 是 iostream类的对象。
28
北京林业大学 软件教研室
在C++中,可以将文件定义为文件流类的一 个对象,要进行文件的输入/输出,必须:
先创建一个文件流对象,并与指定的文件关联, 即打开文件;
然后才能进行读写操作;
完成后再关闭这个文件。
fclose(文件指针);
fclose函数也带回一个值,当顺利执行了关闭操作, 则返回值为0;否则返回EOF(即-1)。
【例10-1】打开一个文本文件file,然后将其关闭, 并判断文件是否关闭成功。
15
北京林业大学 软件教研室
10.1.3 文件读写
文件的读操作是指从磁盘文件向程序读入数据的过 程,因此该文件必须以读或读写的方式打开。
char *_nextc;
//下一个字符位置
char *_buff;
//文件缓冲区位置
} FILE;
7
北京林业大学 软件教研室
定义文件型指针变量,如:FILE *fp;
fp是一个指向FILE类型结构体的指针变量。
可以使fp指向某一个文件的结构体变量,从而通 过该结构体变量中的文件信息能够访问该文件。
文件必须是以读或读写方式打开的。
ch=fgetc(fp);
其中,fp为文件型指针变量,ch为字符变量。 fgetc函数带回一个字符赋给ch。 如果在执行fgetc函数读字符时遇到文件结束符,函
数返回一个文件结束标志EOF(即-1)。 EOF是在stdio.h文件中定义的符号常量,值为-1。
17
北京林业大学 软件教研室
这些文件流类在C++流类库中的继承派生的层 次关系如图所示。
30
北京林业大学 软件教研室
10.2.2 打开文件
使用函数open()可以打开文件,其函数原型为: void open(const unsigned char *filename,int mode,int access);
filename是一个字符型指针,它指定了要打开的文件名; mode指定了文件的打开方式,其取值如表所示;
3
北京林业大学 软件教研室
无论是文本文件还是二进制文件都需要用“文件指针” 来操纵,此处的“文件指针”是指表示读写文件的文 件位置指示器。
一个文件指针总是和一个文件相关联,当文件每一次 打开时,文件指针都指向文件的开始;
随着对文件进行操作,文件指针不断地在文件中移动, 并一直指向最新处理的字符(字节)位置。
n为要求得到的字符,放到字符数组str中,如果 在读入过程中遇到换行符或EOF,读入结束。
fgets函数的返回值为str的首地址。
20
北京林业大学 软件教研室
相关文档
最新文档