网站大量收购闲置独家精品文档,联系QQ:2885784924

 第7章文件和结构体(C++版).ppt

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 文件 与 结构体 第一节 文件操作 C++语言提供了一批用于文件操作的标准函数,本节不是介绍文件打开函数fopen,而是介绍另一个函数freopen,它们都包含于标准库cstdio中,文件操作基本步骤如下: (1)打开文件,将文件指针指向文件,决定打开文件类型; (2)对文件进行读、写操作; (3)在使用完文件后,关闭文件。 一、重定向版 二、fopen版 重定向用起来很方便,但并不是所有算法竞赛都允许读写文件。甚至有的竞赛允许访问文件,但不允许使用freopen这样的重定向方式读写文件,可以使用fopen版,对scanf和printf语句适用。程序如下: #includecstdio using namespace std; int main() { FILE *fin,*fout; fin = fopen(in.txt,rb); //定义输入文件名 fout = fopen(out.txt,wb); //定义输出文件名 int temp,sum=0; while (fscanf(fin,%d,temp)==1) //从输入文件中读入数据 { sum=sum+temp; } fprintf(fout,%d\n,sum); // coutsumendl; fclose(fin);fclose(fout); //关闭文件,可省略 return 0; } 第二节 结构体  在实际问题中,一组数据往往具有不同的数据类型。例如,人口大普查时,我们需要记录每一位公民的姓名,年龄,性别,住址,身份证号码。这些信息分别要用整型,字符型,字符串型来记录。为了解决问题,C++语言给出了另一种构造数据类型——“结构体”,它在数据存储方面相当于其他高级语言中的记录,但它有着面向对象的优势。  7.2.1 结构体定义和操作    1. 定义结构体及结构体变量    结构体变量的定义有两种方式:        定义结构体的同时定义结构体变量    struct 结构体名 { //其中 struct 是关键字     成员表 //可以有多个成员     成员函数 //可以有多个成员函数,也可以没有    } 结构体变量表; //可以同时定义多个结构体变量        结构体变量名列表的各个变量用“,”隔开。     例如: struct DATA{     int a[2]; //成员为一个数组     int c;     }data_a,data_b;  当然,我们也可以先定义结构体再定义结构体变量        struct 结构体名{     成员表     成员函数    };    结构体名 结构体变量表;//同样可以同时定义多个结构体变量     例如: struct DATA{     int a[2];     int c;     };     DATA data_a,data_b;//这种定义方式与上一种方式的效果是相同的    在定义结构体变量时注意,结构体变量名和结构体名不能相同。在定义结构体时,系统对之不分配实际内存。只有定义结构体变量时,系统才为其分配内存。  2.成员调用    结构体变量与各个成员之间引用的一般形式为:    结构体变量名. 成员名     对于上面定义的结构体变量,我们可以这样操作:     cindata_a.a[0]data_a.a[1]; //一般情况下不能写 cindata_a;     int a=data_a.a[0]+data_a.a[1]; //就像用整形变量一样用a[0]、a[1]     data_b=data_a; //结构体之间的相互赋值是合法的     data_a.c=0; //就如同给整形变量赋值     实际上结构体成员的操作与该成员类型所具有的操作是一致的。     成员运算符“.”在存取成员数值时使用,其优先级最高,并具有左结合性。在处理包含结构体的结构体时,可记作:    strua. strub. membb    这说名结构体变量 stru

文档评论(0)

huangxiong1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档