C++课件第十章概要1.ppt

C课件第十章概要1

第十一章 C++流 11.1 C++流的概念 11.2 输入输出格式控制 11.2.2 ios类中的成员函数 11.2.3 格式控制操纵符 11.3 文件操作 ② ifstream fin; fin.open( ?a:\\wr.dat? , ios::in | ios::nocreate ); 2、从字符文件输入数据 11.4 字符串流 习题十一 若一个文件是使用插入操作符输出数据而建立的,则当作输入文件打开后,应使用提取操作符输入数据; 若一个文件是使用 put 成员函数输出字符而建立的,则当 作输入文件打开后,应使用 get( ) 或 get( char) 成员函数输入字符数据; 若每次需要从一个输入文件中读入一行字符时,则需要使用 getline 成员函数。 例11-9:从例10-7 所建立的 a:wr1.dat 文件中输入全部数据 并依次显示到屏幕上。 在通常情况下: 例11-10:从例10-8 所建立的 a:wr2.dat 文件中按字符输入 全部数据,把它们依次显示到屏幕上,并且统计 出文件内容中的行数。 11.3.3 字节文件的访问操作 字节文件:是指在打开方式中带有 ios::binary 选项的文件。 字节文件可以是输入文件、输出文件、既输入又输出的文件。 向字节文件中输出信息:就是把内存中由指定字符指针所 指向的具有一定字节数的内容原原本本地写入到文件中。 从字节文件中输入信息:就是把具有一定字节数的内容原原 本本地拷贝到内存中由指定字符指针所指向的存储空间中。 一个文件被用户定义的一个文件流对象打开后, 通过文件流对象调用在 istream 流类中定义的 read成员函数能够从文件中读出信息。 通过文件流对象调用在 ostream 流类中定义的 write 成员 函数能够向文件中写入信息。 这两个成员函数的声明格式如下: istream read( char * buffer, int len ); ostream write( const char * buffer, int len );    其中: 字符指针 buffer :用于存放内存中保存文件读写信息的一 块存储空间的首地址。 len:用于存放一次读写文件的字节数。 当调用 read 成员函数时若读到了 len 个字节内容,则返 回非 0 值,若读到了文件结束符,则返回 0 值,此时通过调 用 istream 流类中提供的 gcount( ) 成员函数能够返回实际读 取的字节数。 文件指针的移动: 输入文件:利用 istream 流类中提供的 seekg 成员函数能 够把文件指针移动到指定的位置。 输出文件:利用 ostream 流类中提供的 seekp 成员函数能 够把文件指针移动到指定的位置。 istream seekg( long dis, seek_dir ref=ios::beg ); ostream seekp( long dis, seek_dir ref=ios::beg ); seek_dir:是在 ios 根基类中定义的枚举类型,它包含三个 常量: 这两个成员函数的声明格式如下: 其中: ios::beg: ios::cur: ios::end: 文件开始位置(字节地址为 0 的位置)。 当前文件指针位置。 文件结尾位置(即文件结束符位置)。 ref :用于指定移动文件指针的参考点,取上述三个常量值 之一,默认值为 ios::beg 。 dis :文件指针移动的距离(字节数)。 在 istream 流类和 ostream 流类中还分别定义有两个成员函数: 当 ref 被指定为 ios::beg 时,dis 不能小于 0; 当 ref 被指定为 ios::end 时,dis 不能大于 0; 例11-11:首先用 10 个整数初始化一个整型数组,然后把数组 中每个元素的值依次写入到字节文件 a:shf1.dat 中。 例11-12:求出 a:shf1.dat 文件中保存的所有整数的最大值、 最小值和平均值。 当 dis 为正时,表示后移;当 dis 为负时,表示前移。 tellg( ) :用来返回输入文件中文件指

文档评论(0)

1亿VIP精品文档

相关文档