版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第10章 输入/输出流 I/O(输入/输出)流类库提供对象之间的数据交互服务 流类库预定义了一批流对象,连接常用的外部输入/输出设备 用户可以定义所需的I/O流对象,使用流库提供的一些功能, 实现数据传输流类库 流类库(stream library)是用继承方法建立的输入输出类库 流类库具有两个平行的基类:streambuf 和 ios 类,所有流类库均以两者之一作为基类 streambuf 类提供对缓冲区的低级操作设置缓冲区,对缓冲区指针进行操作向缓冲区存/取字符 ios 类及其派生类提供用户使用流类的接口,支持对streambuf 的缓冲区输入/输出的格式化或非格式化转换streambuf
2、1. streambuf对缓冲区的低级操作filebufstrstreambufstdiobufstreambuf1. streambuf对缓冲区的低级操作filebufstrstreambufstdiobuf文件缓冲区管理streambuf1. streambuf对缓冲区的低级操作filebufstrstreambufstdiobuf字符串缓冲区管理streambuf1. streambuf对缓冲区的低级操作filebufstrstreambufstdiobuf标准I/O缓冲区管理2. ios提供用户接口iosistreamostreamiostreamfstreamstrstreamstd
3、iostreamistream_withassignifstreamistrstreamostream_withassignofstreamostrstream2. ios提供用户接口iosistreamostreamiostreamfstreamstrstreamstdiostreamistream_withassignifstreamistrstreamostream_withassignofstreamostrstream输入流输出流2. ios提供用户接口iosistreamostreamiostreamfstreamstrstreamstdiostreamistream_withas
4、signifstreamistrstreamostream_withassignofstreamostrstream输入流输出流输入文件流输入串流输出串流输出文件流2. ios提供用户接口iosistreamostreamiostreamfstreamstrstreamstdiostreamistream_withassignifstreamistrstreamostream_withassignofstreamostrstream输入流输出流输入文件流输入串流输出串流输出文件流输入/输出流2. ios提供用户接口iosistreamostreamiostreamfstreamstrstrea
5、mstdiostreamistream_withassignifstreamistrstreamostream_withassignofstreamostrstream输入流输出流输入文件流输入串流输出串流输出文件流输入/输出流输入/输出文件流输入/输出串流标准输入/输出流2. ios提供用户接口iosistreamostreamiostreamfstreamstrstreamstdiostreamistream_withassignifstreamistrstreamostream_withassignofstreamostrstream输入流输出流输入文件流输入串流输出串流输出文件流输入/
6、输出流输入/输出文件流输入/输出串流标准输入/输出流重载运算符“=”重载运算符“=”2. ios提供用户接口iosistreamostreamiostreamfstreamstrstreamstdiostreamistream_withassignifstreamistrstreamostream_withassignofstreamostrstream输入流输出流输入文件流输入串流输出串流输出文件流输入/输出流输入/输出文件流输入/输出串流标准输入/输出流重载运算符“=”重载运算符“=”11.5 文件处理 文件是由一系列数据构成的序列。 例如,一组计算或处理结果可以构成一个文件。 一个班所有
7、学生的档案数据也可以构成一个文件。 每个文件的内容都保存在外存储器中,每个文件都有一个名字,这个名字用标识符来表示。 把数据存放在外存储器是以文件的方式进行,从外存储器把数据取出来也以文件的方式进行。 在C+中,必须使用文件来解决数据的存储问题。 C+语言系统把文件看成无结构的字节流。 根据文件中数据的编码方式可以把文件分为文本文件和二进制文件。 根据文件中数据的存取方式可以把文件分为顺序文件和随机文件 。 在C+中,要进行数据的存取需要使用三个类:文件输入流类ifstream、文件输出流类ofstream 和文件输入输出流类fstream 。 文件输入流类ifstream:提取文件中的数据到
8、内存。 文件输出流类ofstream:把内存中的数据插入到文件。 文件输入输出流类fstream:上述两种功能都有。11.5.1 文件和流0 1 2 3 4 5 n-1文件字节序号文件结束符文件长度 = n11.5.1 文件和流0 1 2 3 4 5 n-1文件指针11.5.1 文件和流0 1 2 3 4 5 n-1文件结束11.5.1 文件和流0 1 2 3 4 5 n-1 文件中字节存放的都是数据的编码,这些编码可以是各种信息的编码。应用程序对字节序列可以作出各种类型数据或其它信息的解释。 如果文件中的每一个字节存放的是ASC码,则每个字节表示一个字符。 以ASC码方式存放数据的文件称为文
9、本文件。文本文件是一种顺序文件。 在文本文件中,需要使用一个表示文件结束的标识常量EOF,它在iostream中定义,值为26(0 x1A)。关闭文件后,该字符被自动添加到文件的尾部。 以二进制代码方式存放数据的文件称为二进制文件。二进制文件是一种随机文件。 当把内存中的数据存放到二进制文件时,C+把数据转换成二进制代码写到二进制文件中去。 当从二进制文件中取数据时,C+把文件中的字节流解释为各种类型数据读出来存放到内存。 0 1 2 3 4 5 n-1-内存-ifstream ofstream 读文件写文件11.5.2 打开和关闭文件 文件操作的基本步骤:1.打开文件2.读 / 写文件3.关
10、闭文件 1.打开文件包括建立文件流对象;调用open()函数连接外部文件。打开文件有两种方法:(1) 首先建立流对象,然后调用open()函数连接外部文件流类 对象名 ;对象名 . open ( 文件名 , 方式 ) ;ifstream、ofstream 或 fstream标识常量值意义ios:in0 x0001读方式打开文件ios:out0 x0002写方式打开文件ios:ate0 x0004打开文件时,指针指向文件尾ios:app0 x0008追加方式ios:trunc0 x0010删除文件现有内容ios:nocreate0 x0020如果文件不存在,则打开操作失败ios:noreplac
11、e0 x0040如果文件存在,则打开操作失败ios:binary0 x0080二进制方式打开,默认为文本方式例如: 打开一个已有文件datafile.dat,准备读: ifstream infile ;/ 建立输入文件流对象 infile.open( datafile.dat , ios:in ) ; / 连接文件,指定打开方式 打开(创建)一个文件newfile.dat,准备写: ofstream outfile ;/ 建立输出文件流对象 outfile.open( d:newfile.dat , ios:out ) ; / 连接文件,指定打开方式 (2)调用流类带参数的构造函数,建立流对象
12、的同时连接外部文件流类 对象名 ( 文件名 , 方式 ) ;ifstream、ofstream 或 fstream例如:ifstream infile ( datafile.dat , ios:in ) ; ofstream outfile ( d:newfile.dat , ios:out );fstream rwfile ( myfile.dat , ios:in | ios:out ) ; 用或运算符 “|” 连接两个表示打开方式的标识常量2.关闭文件例如: ofstream ofile ;/ 创建输出文件流 ofile . open ( myfile1 ,ios:out ) ;/ of
13、ile流与文件“myfile1”相关联 / 访问文件“myfile1” ofile . close ( ) ;/ 关闭文件“myfile1” ofile . open ( myfile2 ,ios:out ); / 重用ofile流 关闭文件操作的作用是把缓冲区数据完整地写入文件,添加文件结束标志,切断流对象和外部文件的连接。 关闭文件要使用流类的成员函数close() 。 当一个流对象的生存期结束,系统也会自动关闭文件。 #include int main ( ) ofstream ost ; ost . open ( a:my1.dat ,ios:out ) ; ost 20 endl ;
14、 ost 30.5 n d ; cout n endl d endl ;open ( ) 和 close ( ) 函数应用#include int main ( ) ofstream ost ; ost . open ( a:my1.dat ,ios:out ) ; ost 20 endl ; ost 30.5 n d ; cout n endl d endl ;open ( ) 和 close ( ) 函数应用/ 创建输出流对象#include int main ( ) ofstream ost ; ost . open ( a:my1.dat ,ios:out ) ; ost 20 end
15、l ; ost 30.5 n d ; cout n endl d endl ;open ( ) 和 close ( ) 函数应用/ 创建输出流对象/ 建立文件关联,缺省为文本模式#include int main ( ) ofstream ost ; ost . open ( a:my1.dat ,ios:out ) ; ost 20 endl ; ost 30.5 n d ; cout n endl d endl ;open ( ) 和 close ( ) 函数应用/ 创建输出流对象/ 建立文件关联,缺省为文本模式/ 向流插入数据#include int main ( ) ofstream
16、ost ; ost . open ( a:my1.dat ,ios:out ) ; ost 20 endl ; ost 30.5 n d ; cout n endl d endl ;open ( ) 和 close ( ) 函数应用/ 创建输出流对象/ 建立文件关联,缺省为文本模式/ 向流插入数据/ 关闭文件#include int main ( ) ofstream ost ; ost . open ( a:my1.dat ,ios:out ) ; ost 20 endl ; ost 30.5 n d ; cout n endl d endl ;open ( ) 和 close ( ) 函数
17、应用/ 创建输出流对象/ 建立文件关联,缺省为文本模式/ 向流插入数据/ 关闭文件/ 创建输入流对象并建立关联#include int main ( ) ofstream ost ; ost . open ( a:my1.dat ,ios:out ) ; ost 20 endl ; ost 30.5 n d ; cout n endl d endl ;open ( ) 和 close ( ) 函数应用/ 创建输出流对象/ 建立文件关联,缺省为文本模式/ 向流插入数据/ 关闭文件/ 创建输入流对象并建立关联/ 从流提取数据#include int main ( ) ofstream ost ;
18、ost . open ( a:my1.dat ,ios:out ) ; ost 20 endl ; ost 30.5 n d ; cout n endl d endl ;open ( ) 和 close ( ) 函数应用/ 创建输出流对象/ 建立文件关联,缺省为文本模式/ 向流插入数据/ 关闭文件/ 创建输入流对象并建立关联/ 从流提取数据/ 向预定义流插入数据#include int main ( ) ofstream ost ; ost . open ( a:my1.dat ,ios:out ) ; ost 20 endl ; ost 30.5 n d ; cout n endl d a
19、b ;0 1 2 3 4 5 ifstream fin读文件2 4 3 7 8 int a , b ;fin a b ;a 0X00f30 1 2 3 4 5 ifstream fin读文件2 4 3 7 8 int a , b ;fin a b ;a 0X00f3b 0X004e0 1 2 3 4 5 2 4 3 7 8 int a , b ;fin a b ;a 0X00f3b 0X004eint c ;c = a * b ;fout c= c a b ;a 0X00f3b 0X004eint c ;c = a * b ;fout c= c a b ;a 0X00f3b 0X004eint
20、 c ;c = a * b ;fout c= c a b ;a 0X00f3b 0X004eint c ;c = a * b ;fout c= c a b ;a 0X00f3b 0X004eint c ;c = a * b ;fout c= c a b ;a 0X00f3b 0X004eint c ;c = a * b ;fout c= c a b ;a 0X00f3b 0X004eint c ;c = a * b ;fout c= cendl ;ofstream foutc 0X01412 4 3 7 8 c = 3 2 1 n #include #include int main ( )
21、ofstream ost ; ost.open ( a:my2.dat ) ; ost 1234567890 endl ; int a = 123 ; ost a endl ; ost setw ( 10 ) a endl ; ost resetiosflags ( ios : right ) setiosflags ( ios : left ) setfill ( # ) setw ( 10 ) a endl ; ost resetiosflags ( ios : left ) setiosflags ( ios : right ) setprecision ( 5 ) setw ( 10
22、) 12.34567890 endl ; ost . close ( ) ;使用格式控制建立的文本文件#include #include int main ( ) ofstream ost ; ost.open ( a:my2.dat ) ; ost 1234567890 endl ; int a = 123 ; ost a endl ; ost setw ( 10 ) a endl ; ost resetiosflags ( ios : right ) setiosflags ( ios : left ) setfill ( # ) setw ( 10 ) a endl ; ost rese
23、tiosflags ( ios : left ) setiosflags ( ios : right ) setprecision ( 5 ) setw ( 10 ) 12.34567890 endl ; ost . close ( ) ;使用格式控制建立的文本文件建立输出文件流对象#include #include int main ( ) ofstream ost ; ost.open ( a:my2.dat ) ; ost 1234567890 endl ; int a = 123 ; ost a endl ; ost setw ( 10 ) a endl ; ost resetiosf
24、lags ( ios : right ) setiosflags ( ios : left ) setfill ( # ) setw ( 10 ) a endl ; ost resetiosflags ( ios : left ) setiosflags ( ios : right ) setprecision ( 5 ) setw ( 10 ) 12.34567890 endl ; ost . close ( ) ;使用格式控制建立的文本文件默认方式打开文本文件#include #include int main ( ) ofstream ost ; ost.open ( a:my2.dat
25、 ) ; ost 1234567890 endl ; int a = 123 ; ost a endl ; ost setw ( 10 ) a endl ; ost resetiosflags ( ios : right ) setiosflags ( ios : left ) setfill ( # ) setw ( 10 ) a endl ; ost resetiosflags ( ios : left ) setiosflags ( ios : right ) setprecision ( 5 ) setw ( 10 ) 12.34567890 endl ; ost . close (
26、) ;使用格式控制建立的文本文件插入字符串#include #include int main ( ) ofstream ost ; ost.open ( a:my2.dat ) ; ost 1234567890 endl ; int a = 123 ; ost a endl ; ost setw ( 10 ) a endl ; ost resetiosflags ( ios : right ) setiosflags ( ios : left ) setfill ( # ) setw ( 10 ) a endl ; ost resetiosflags ( ios : left ) setio
27、sflags ( ios : right ) setprecision ( 5 ) setw ( 10 ) 12.34567890 endl ; ost . close ( ) ;使用格式控制建立的文本文件把整型数转换成字符串#include #include int main ( ) ofstream ost ; ost.open ( a:my2.dat ) ; ost 1234567890 endl ; int a = 123 ; ost a endl ; ost setw ( 10 ) a endl ; ost resetiosflags ( ios : right ) setiosfl
28、ags ( ios : left ) setfill ( # ) setw ( 10 ) a endl ; ost resetiosflags ( ios : left ) setiosflags ( ios : right ) setprecision ( 5 ) setw ( 10 ) 12.34567890 endl ; ost . close ( ) ;使用格式控制建立的文本文件以指定格式插入数据使用格式控制建立的文本文件#include #include int main ( ) ofstream ost ; ost.open ( a:my2.dat ) ; ost 12345678
29、90 endl ; int a = 123 ; ost a endl ; ost setw ( 10 ) a endl ; ost resetiosflags ( ios : right ) setiosflags ( ios : left ) setfill ( # ) setw ( 10 ) a endl ; ost resetiosflags ( ios : left ) setiosflags ( ios : right ) setprecision ( 5 ) setw ( 10 ) 12.34567890 endl ; ost . close ( ) ;#include int m
30、ain() ofstream out( a:test ) ; if ( !out ) cout cannot open file. ; return ; out 10 123.45 ; out nThis is a short text file. ; out.close () ;把一个整数、一个浮点数和一个串写到文件 a:test 中对数值常量做转换#include int main () char ch ; int i ; float f ; char str1 10 , str2 10 ; ifstream in ( a:test ) ; if ( ! in ) cout i f ch
31、str1 str2 ; cout i ends f ends ch n ; cout str1 str2 endl ; in.close () ;从文件 a : test 中读出一个整数、一个浮点数、一个字符和两个串ifstream inint i float f char chchar str1char str2#include int main () char ch ; int i ; float f ; char str1 10 , str2 10 ; ifstream in ( a:test ) ; if ( ! in ) cout i f ch str1 str2 ; cout i
32、ends f ends ch n ; cout str1 str2 endl ; in.close () ;从文件 a : test 中读出一个整数、一个浮点数、一个字符和两个串ifstream inint ifloat f char chchar str1char str210#include int main () char ch ; int i ; float f ; char str1 10 , str2 10 ; ifstream in ( a:test ) ; if ( ! in ) cout i f ch str1 str2 ; cout i ends f ends ch n ;
33、 cout str1 str2 endl ; in.close () ;从文件 a : test 中读出一个整数、一个浮点数、一个字符和两个串ifstream infloat f char chchar str1char str2123.45int i 10#include int main () char ch ; int i ; float f ; char str1 10 , str2 10 ; ifstream in ( a:test ) ; if ( ! in ) cout i f ch str1 str2 ; cout i ends f ends ch n ; cout str1
34、str2 endl ; in.close () ;从文件 a : test 中读出一个整数、一个浮点数、一个字符和两个串ifstream inchar chchar str1char str2Tint i 10float f 123.45#include int main () char ch ; int i ; float f ; char str1 10 , str2 10 ; ifstream in ( a:test ) ; if ( ! in ) cout i f ch str1 str2 ; cout i ends f ends ch n ; cout str1 str2 endl
35、; in.close () ;从文件 a : test 中读出一个整数、一个浮点数、一个字符和两个串ifstream inchar str1char str2hisint i 10float f 123.45char ch T#include int main () char ch ; int i ; float f ; char str1 10 , str2 10 ; ifstream in ( a:test ) ; if ( ! in ) cout i f ch str1 str2 ; cout i ends f ends ch n ; cout str1 str2 endl ; in.c
36、lose () ;从文件 a : test 中读出一个整数、一个浮点数、一个字符和两个串ifstream inchar str2isint i 10float f 123.45char ch Tchar str1 his#include int main () char ch ; int i ; float f ; char str1 10 , str2 10 ; ifstream in ( a:test ) ; if ( ! in ) cout i f ch str1 str2 ; cout i ends f ends ch n ; cout str1 str2 endl ; in.clos
37、e () ;从文件 a : test 中读出一个整数、一个浮点数、一个字符和两个串int i 10float f 123.45char ch Tchar str1 hischar str2 isostream cout#include int main ( ) char ch ; ifstream f1 ( a:test ) ; if ( !f1 ) cout cannot open test for input. ; return ; ofstream f2 ( a:testnew ) ; if ( !f2 ) cout cannot open testnew for ouput. ; re
38、turn ; while ( f1 & f1.get(ch) ) f2.put( ch ) ; f1.close () ; f2.close () ; cout It is over !n ;把文件 a : test 复制到文件 a : testnew 中#include int main ( ) char ch ; ifstream f1 ( a:test ) ; if ( !f1 ) cout cannot open test for input. ; return ; ofstream f2 ( a:testnew ) ; if ( !f2 ) cout cannot open test
39、new for ouput. ; return ; while ( f1 & f1.get(ch) ) f2.put( ch ) ; f1.close () ; f2.close () ; cout It is over !n ;ch把文件 a : test 复制到文件 a : testnew 中#include int main ( ) char ch ; ifstream f1 ( a:test ) ; if ( !f1 ) cout cannot open test for input. ; return ; ofstream f2 ( a:testnew ) ; if ( !f2 )
40、cout cannot open testnew for ouput. ; return ; while ( f1 & f1.get(ch) ) f2.put( ch ) ; f1.close () ; f2.close () ; cout It is over !n ;ifstream f1ch把文件 a : test 复制到文件 a : testnew 中#include int main ( ) char ch ; ifstream f1 ( a:test ) ; if ( !f1 ) cout cannot open test for input. ; return ; ofstrea
41、m f2 ( a:testnew ) ; if ( !f2 ) cout cannot open testnew for ouput. ; return ; while ( f1 & f1.get(ch) ) f2.put( ch ) ; f1.close () ; f2.close () ; cout It is over !n ;ifstream f1chofstream f2把文件 a : test 复制到文件 a : testnew 中#include int main ( ) char ch ; ifstream f1 ( a:test ) ; if ( !f1 ) cout can
42、not open test for input. ; return ; ofstream f2 ( a:testnew ) ; if ( !f2 ) cout cannot open testnew for ouput. ; return ; while ( f1 & f1.get(ch) ) f2.put( ch ) ; f1.close () ; f2.close () ; cout It is over !n ;ifstream f1ofstream f2ch把文件 a : test 复制到文件 a : testnew 中#include int main ( ) char ch ; i
43、fstream f1 ( a:test ) ; if ( !f1 ) cout cannot open test for input. ; return ; ofstream f2 ( a:testnew ) ; if ( !f2 ) cout cannot open testnew for ouput. ; return ; while ( f1 & f1.get(ch) ) f2.put( ch ) ; f1.close () ; f2.close () ; cout It is over !n ;ifstream f1ofstream f2ch把文件 a : test 复制到文件 a :
44、 testnew 中#include int main ( ) char ch ; ifstream f1 ( a:test ) ; if ( !f1 ) cout cannot open test for input. ; return ; ofstream f2 ( a:testnew ) ; if ( !f2 ) cout cannot open testnew for ouput. ; return ; while ( f1 & f1.get(ch) ) f2.put( ch ) ; f1.close () ; f2.close () ; cout It is over !n ;ifs
45、tream f1ofstream f2ch把文件 a : test 复制到文件 a : testnew 中#include int main ( ) char ch ; ifstream f1 ( a:test ) ; if ( !f1 ) cout cannot open test for input. ; return ; ofstream f2 ( a:testnew ) ; if ( !f2 ) cout cannot open testnew for ouput. ; return ; while ( f1 & f1.get(ch) ) f2.put( ch ) ; f1.close
46、 () ; f2.close () ; cout It is over !n ;把文件 a : test 复制到文件 a : testnew 中#includeint main() char str = tNew string ; ofstream f2 ( a:testnew , ios:app ) ; / 追加方式 if ( !f2 ) cout cannot open testnew for ouput. ; return ; f2 str ;/ 插入字符串 f2.close () ;在文件 a : testnew 的末尾添加字符串插入串建立一个包含学生学号、姓名、成绩的文本文件#inc
47、lude #include using namespace std;int main() char fileName30 , name30 ; int number , score ; ofstream outstuf ; cout fileName ; outstuf.open( fileName, ios:out ) ; if ( !outstuf ) cerr File could not be open. endl ; abort(); outstuf 学生成绩文件n ; cout number name score ) outstuf number name score n ; co
48、ut ? ; outstuf.close() ;建立一个包含学生学号、姓名、成绩的文本文件#include #include using namespace std;int main() char fileName30 , name30 ; int number , score ; ofstream outstuf ; cout fileName ; outstuf.open( fileName, ios:out ) ; if ( !outstuf ) cerr File could not be open. endl ; abort(); outstuf 学生成绩文件n ; cout num
49、ber name score ) outstuf number name score n ; cout ? ; outstuf.close() ;/ 建立输出文件流对象建立一个包含学生学号、姓名、成绩的文本文件#include #include using namespace std;int main() char fileName30 , name30 ; int number , score ; ofstream outstuf ; cout fileName ; outstuf.open( fileName, ios:out ) ; if ( !outstuf ) cerr File c
50、ould not be open. endl ; abort(); outstuf 学生成绩文件n ; cout number name score ) outstuf number name score n ; cout ? ; outstuf.close() ;/ 建立输出文件流对象/ 输入文件名建立一个包含学生学号、姓名、成绩的文本文件#include #include using namespace std;int main() char fileName30 , name30 ; int number , score ; ofstream outstuf ; cout fileNam
51、e ; outstuf.open( fileName, ios:out ) ; if ( !outstuf ) cerr File could not be open. endl ; abort(); outstuf 学生成绩文件n ; cout number name score ) outstuf number name score n ; cout ? ; outstuf.close() ;/ 建立输出文件流对象/ 输入文件名/ 连接文件,指定打开方式建立一个包含学生学号、姓名、成绩的文本文件#include #include using namespace std;int main()
52、 char fileName30 , name30 ; int number , score ; ofstream outstuf ; cout fileName ; outstuf.open( fileName, ios:out ) ; if ( !outstuf ) cerr File could not be open. endl ; abort(); outstuf 学生成绩文件n ; cout number name score ) outstuf number name score n ; cout ? ; outstuf.close() ;/ 建立输出文件流对象/ 输入文件名/
53、连接文件,指定打开方式/ 调用重载算符函数测试流建立一个包含学生学号、姓名、成绩的文本文件#include #include using namespace std;int main() char fileName30 , name30 ; int number , score ; ofstream outstuf ; cout fileName ; outstuf.open( fileName, ios:out ) ; if ( !outstuf ) cerr File could not be open. endl ; abort(); outstuf 学生成绩文件n ; cout num
54、ber name score ) outstuf number name score n ; cout ? ; outstuf.close() ;/ 建立输出文件流对象/ 输入文件名/ 连接文件,指定打开方式/ 调用重载算符函数测试流/ 写入一行标题建立一个包含学生学号、姓名、成绩的文本文件#include #include using namespace std;int main() char fileName30 , name30 ; int number , score ; ofstream outstuf ; cout fileName ; outstuf.open( fileName
55、, ios:out ) ; if ( !outstuf ) cerr File could not be open. endl ; abort(); outstuf 学生成绩文件n ; cout number name score ) outstuf number name score n ; cout ? ; outstuf.close() ;/ 建立输出文件流对象/ 输入文件名/ 连接文件,指定打开方式/ 调用重载算符函数测试流/ 写入一行标题/ 向流插入数据建立一个包含学生学号、姓名、成绩的文本文件#include #include using namespace std;int mai
56、n() char fileName30 , name30 ; int number , score ; ofstream outstuf ; cout fileName ; outstuf.open( fileName, ios:out ) ; if ( !outstuf ) cerr File could not be open. endl ; abort(); outstuf 学生成绩文件n ; cout number name score ) outstuf number name score n ; cout ? ; outstuf.close() ;/ 建立输出文件流对象/ 输入文件
57、名/ 连接文件,指定打开方式/ 调用重载算符函数测试流/ 写入一行标题/ 向流插入数据/ 关闭文件建立一个包含学生学号、姓名、成绩的文本文件#include #include using namespace std;int main() char fileName30 , name30 ; int number , score ; ofstream outstuf ; cout fileName ; outstuf.open( fileName, ios:out ) ; if ( !outstuf ) cerr File could not be open. endl ; abort(); o
58、utstuf 学生成绩文件n ; cout number name score ) outstuf number name score n ; cout ? ; outstuf.close() ;/ 建立输出文件流对象/ 输入文件名/ 连接文件,指定打开方式/ 调用重载算符函数测试流/ 写入一行标题/ 向流插入数据/ 关闭文件文件名建立一个包含学生学号、姓名、成绩的文本文件#include #include using namespace std;int main() char fileName30 , name30 ; int number , score ; ofstream outstu
59、f ; cout fileName ; outstuf.open( fileName, ios:out ) ; if ( !outstuf ) cerr File could not be open. endl ; abort(); outstuf 学生成绩文件n ; cout number name score ) outstuf number name score n ; cout ? ; outstuf.close() ;/ 建立输出文件流对象/ 输入文件名/ 连接文件,指定打开方式/ 调用重载算符函数测试流/ 写入一行标题/ 向流插入数据/ 关闭文件学生记录建立一个包含学生学号、姓名、
60、成绩的文本文件#include #include using namespace std;int main() char fileName30 , name30 ; int number , score ; ofstream outstuf ; cout fileName ; outstuf.open( fileName, ios:out ) ; if ( !outstuf ) cerr File could not be open. endl ; abort(); outstuf 学生成绩文件n ; cout number name score ) outstuf number name s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆三峡学院《绿色工程》2022-2023学年第一学期期末试卷
- 重庆人文科技学院《思想政治教育学原理》2022-2023学年第一学期期末试卷
- 重庆三峡学院《机械制图》2021-2022学年第一学期期末试卷
- 2024北京怀柔一中高二(上)期中英语(教师版)
- 重庆三峡学院《景观设计基础》2022-2023学年第一学期期末试卷
- 重庆人文科技学院《内科护理学》2021-2022学年第一学期期末试卷
- JAVA服务端程序员岗位职责
- 重庆财经学院《数据库原理与应用》2022-2023学年期末试卷
- 重庆财经学院《软件测试实践》2022-2023学年期末试卷
- 肠道动力机制研究报告
- 起重机日常维护保养方案
- 民法典讲座-继承篇
- 超级优等生:优等生最高效的学习方法
- 糖尿病健康知识宣教课件
- 教科版六年级英语上册(广州版)课件【全册】
- 大学生健康教育大学生性教育教学课件
- 医学-心脏骤停急救培训-心脏骤停急救教学课件
- 企业员工预防职务犯罪讲座课件
- 初中数学北师大版七年级上册课件5-4 应用一元一次方程-打折销售
- 圆柱的截交线公开课一等奖市优质课赛课获奖课件
- X-R控制图模板完整版
评论
0/150
提交评论