- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章 C++流
C++流
流的概念
I/O格式的控制
文件流
编译系统以运算符或函数的形式表示标准外设(键盘、屏幕、打印机、文件)
cinx; coutx;
cin.get(ch);
输入输出流(I/O Stream)
C++语言的I/O系统向用户提供一个统一的接口,使得程序的设计尽量与所访问的具体设备无关。
在用户与设备之间提供了一个抽象的界面:输入输出流。
C++I/O流
流对象
对应的设备
流对象所属的类
cin
标准输入设备(键盘)
istream
cout
标准输出设备(显示器)
ostream
cerr
标准错误设备(显示器)
ostream
clog
标准错误设备(显示器)(带缓冲)
ostream
ios类中的格式化常量(了解) ios类中的成员函数(了解) (见教材)
例12.1 使用width函数控制输出宽度。
#includeiostream
using namespace std;
int main()
{
double values[]={1.23,35.36,653.7,4358.24};
for (int i=0; i4; i++)
{
cout.width(10);
cout values[i] endl;
}
return 0;
}
调用成员函数应用程序举例
1.23
35.36
653.7
4358.24
预定义操纵算子的表示和含义
dec 十进制的输入输出。
hex 十六进制的输入输出。
oct 八进制的输入输出。
ws 提取空白字符。
ends 输出一个nul字符。
endl 输出一个换行字符,同时刷新流。
flush 刷新流。
resetiosflags(long) 清除特定的格式标志位。
setiosflags(long) 设置特定的格式标志位。
setfill(char) 设置填充字符。
setprecision(int) 设置输出浮点数的精确度。
setw(int) 设置域宽格式变量
预定义操纵算子应用程序举例
例12.4 使之对齐方式。
#includeiostream
#includeiomanip
using namespace std;
int main()
{
char *names[]={Zoot,Jimmy,Al,Stan};
double values[]={1.23,35.36,653.7,4358.24};
for (int i=0; i4; i++)
{
cout setiosflags(ios::left) setw(6) names[i]
resetiosflags(ios::left) setw(10) values[i] endl;
}
return 0;
}
Zoot 1.23
Jimmy 35.36
Al 653.7
Stan 4358.24
文件的概念
C++中文件存储格式
文本文件(ASCII文件:记事本,*.cpp等)
二进制文件(可执行程序*.EXE等)
程序对文本文件的操作与对键盘、显示器的操作比较:
文件的打开与关闭:
打开文件
在程序内定义一个文件类的对象
由该对象与文件发生联系
程序内所有的与文件的操作都是对该对象的操作
fstream infile , outfile;
ifstream infile;
ofstream outfile;
两个对象,可以联系两个输入输出文件
对象只能联系输入文件
对象只能联系输出文件
打开文件
打开文件可使用open成员函数
打开文件原型
void open(const char * fname, int mode);
代表文件名的字符串
文件的打开方式
特别是当用类fstream定义文件对象时,该对象即能定义输入文件对象,又能定义输出文件对象,所以打开文件时,必须在成员函数open()中的参数中给出打开方式(读或写)。
ios::in 文件打开用于数据输入,即从文件中读数据
ios::out 文件打开用于数据输出,即向文件中写数据
ios::ate 打开文件时文件指针指向文件结束位置
ios::app 文件打开用于追加数据,文件指针始终在文件尾
ios::trunc 若打开文件已存在,使之成为空文件
ios::nocreate 若打开文件不存在则不建立,返回打开失败信息
ios::noreplace 打开文件时不能覆盖,若文件存在则返回打开失败
ios::binary 打开文件为二进制文件,否则为文本文件
打开输入文件时,文件必须存在。
打开输出文件时,若文件不存在,则建立文件;若文件存在,则
文档评论(0)