第9章流类库与输入输出
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第9章流类库与输入输出
9.1 本章提要
(1)C++语言提供一个用于输入/输出(I/O)操作的类族,这些操作是以对数据敏感
的方式实现的。类族提供了对预定义类型进行输入/输出操作的能力,程序员也
可以利用这个类族进行自定义类型的输入/输出操作。
(2)标准输出操作方法
①将插入符作用在流对象cout上,可输出显示整型数、浮点数,字符和字符串。
②使用成员函数put( )可输出一个字符
③使用成员函数write( )可输出一个字符串
(3)标准输入操作方法
①将提取符作用在流对象cin上,可输入整型数、浮点数、字符和字符串。
②使用成员函数get( )可输入一个字符,使用成员函数getline( )可输入—行字符。
③使用成员函数read( )可读取一个字符串。
(4)格式化输入输出的两种方式
①使用标志字和成员函数
②使用操作子
(5)磁盘文件的输入和输出,包括:
①磁盘文件的打开和关闭操作
②文本文件的读写操作
③二进制文件的读写操作
④随机访问数据文件
9.2 程序举例
下面是一个展示用不同方法(使用重载运算符和成员函数)对标准的输入输出流对象(cin和cout)进行操作的例子。
例9-1 用不同方法操作流对象
//ch9_1.cpp 标准设备的输入输出
#include
void main()
{
char buffer1[80],buffer2[80],buffer3[80];
cout<<"Please enter a sentence:"< cin>>buffer1; cout< cin.getline(buffer1,80); //clear buffer cout<<"Please enter a sentence:"< cin.getline(buffer2,80); cout< cout<<"Please enter a sentence:"< cin.read(buffer3,10); cout.write(buffer3,cin.gcount()); } 运行结果: Please enter a sentence: Welcome to C++.↙ Welcome Please enter a sentence: Welcome to C++.↙ Welcome to C++. Please enter a sentence: Welcome to C++.↙ Welcome to 在这个程序中,出现了以下几个对输入输出流进行操作的成员函数。getline():读取一行字符串 read():读取指定字符个数的字符中 write():输出显示指定字符个数的字符串。 下面是一个使用格式化标志进行格式控制操作的例子。 例9-2 使用格式化标志进行格式控制 //ch9_2.cpp 使用格式化标志进行格式控制 #include "iostream.h" #include void main() { //设置整数流的格式和基数 int x=123; cout<<"dec: "< <<"oct: "< <<"hex: "< cout< <<"dec: "< <<"oct: "< <<"hex: "< //设置浮点数流的格式 double a=0.1234567,b=5.5614e8; cout< cout.setf(ios::scientific,ios::floatfield); //设置为科学表示法 cout< cout.unsetf(ios::scientific); //清除科学表示法cout< cout.setf(ios::fixed,ios::floatfield); //采用定点数形式