C++面向对象第六章.pptVIP

  • 5
  • 0
  • 约8.61千字
  • 约 64页
  • 2016-12-10 发布于重庆
  • 举报
C面向对象第六章

C++面向对象程序设计 第六章 I/O流--对象和类入门 东华大学理学院 葛勇 流和基本文件I/O 流、输入流、输出流(P.200) 文件之于I/O的重要性 文件I/O、流是一种特殊的变量,称为对象 文件I/O技术 追加到文件 #includefstream using namespace std; int main() { ifstream in_stream; ofstream out_stream; in_stream.open(infile.dat); out_stream.open(outfile.dat); int first,second,third; in_streamfirstsecondthird; out_streamThe sum of the first 3\n numbers in infile.data\n is (first+second+third) endl; in_stream.close(); out_stream.close(); } 类和对象 对象是一种变量,该变量有函数与之关联,这函数称为成员函数。类是一种类型,它的地位相当于int,double这些数据类型,它的变量就是对象,或用类声明的变量称为该类的对象,对象所属的类决定了该对象有哪些成员函数。这些成员函数的实现依赖于类的定义。如open()和close()是in_stream对象的成员函数,实际上是类ifstream类的成员函数 打开文件时做检查 检查文件打开是否成功: in_stream.open(“stuff.dat”); if(in_stream.fail()) { cout“Input file opening failed.\n”; exit(1);//需要头文件cstdlib } exit语句 exit语句格式: exit(整数值); 作用:终止程序的运行,一般来讲exit(1)表示因某种错误而退出,exit(0)表示正常退出 头文件:cstdlib 名称空间:std 练习 1.设一个文件grade.txt中有如下数据: Make 60 85.5 73 John 93 62 53 其中第一列表示学生姓名,后三列分别表示语、数、外三门课的成绩,请使用I/O流从该文件中读到数据,并计算每位学生的总成绩和平均成绩 学生的成绩 #includeiostream #includefstream using namespace std; int main() { ifstream fin; fin.open(grade.txt); if(fin.fail()) { cout文件打开出错。endl; exit(1); } string name; double chinese,math,english; int num=0; cout.setf(ios::fixed); cout.precision(1); while(finnamechinesemathenglish) { num++; double sum=chinese+math+english; coutname的总成绩为:sum “,平均成绩为:”sum/3 endl; } } 追加到文件 如果要把输入的内容放到文件的末尾,并且保留该文件原来的内容,则需要在打开文件时采用追加的方式,使用格式为: ofstream out; out.open(“data.txt”,ios::app); 如果在打开时文件data.txt不存在,则会新建一个具有该名称的空文件。如果该文件已经存在,则输出时会保留原来的内容,输 出的内容追加到这个文件的末尾。如: #includefstream #includeiostream using namespace std; int main() { cout以追加的方式打开文件:data.txt.; ofstream fout; fout.open(data.txt,ios::app); if(fout.fail()) { cout文件打开错误。endl; exit(1); } fout5 6 pick up sticks.\n 7 8 aint C++ great!\n; fout.close(); coutEnd of append to file.\n; } 假设data.txt中原来的数据为: 则程序运行之后为: 流I/O工具 6.2.1 用流函数格式化输出 ofstream所声明的对象和cout一样也可以进行输出的格式化,用法与cout一样。如: ofstream

文档评论(0)

1亿VIP精品文档

相关文档