文档介绍:输入输出流简介
无格式输入/输出(默认的格式输入输出)
输入和输出并不是C++语言的组成部分,而是iostream库支持来实现的。
在iostream库中,输入输出是按流的形式进行操作的。输入和输出操作分别由istream(输入流)和ostream(输出流)两个类提供,而iostream则是这两个类的派生类。它允许进行双向的I/O操作。istream的输入操作可以认为是一个数据抽取的过程,通过右移操作符”>>”从输入流抽取数据;而ostream的输出操作则可以认为是一个数据插入过程,通过左移操作符”<<”将数据插入到输出流中。在iostream库中,已经预先定义了4个流的对象,供用户使用,它们分别是:
(1)、cin:istream类对象,用于处理标准输入,它从标准输入终端(键盘)上获得数据,并将这些数据加入到输入流中。
(2)、cout:ostream类对象,用于处理标准输出,它将输出流中的数据发送到标准输出设备(显示器)上,并在标准输出设备上进行显示。
(3)、cerr:ostream类对象,用于处理标准出错信息,并提供不带缓冲区的输出。
(4)、clog:ostream类对象,用于处理标准出错信息,但提供带有缓冲区的输出。
。
cout语法结构如下:
cout<<output_data1<<output_data2<<. . .<<output_datan;
cin语法结构如下:
cin>>varible1>>varible2>>. . .>>variblen;
指定格式输入输出
有的时候需要按特定的格式进行输入输出,这时需要了解输入输出流的格式状态符。
每个iostream对象都对应一组描述其处理数据格式状态的状态变量。用户可以通过成员函数setf()和unsetf()来设置或取消某个状态标志。同时,系统还提供给用户一套用于修改某个对象状态的操作符。
在隐含的情况下,对整数的读写是按十进制的方式进行的,若应用需要时,用户可以oct、hex、dec将整数指定为按八进制、十六进制或恢复为十进制进行读写。
例如: cout<<”octal:”<<”\t\t”<<oct<<6<<\’\n’;
在隐含的情况下,每个浮点数具有6位数字精度,要想改变这一设置,可以通过成员函数precision(int)来实现,而precision()则返回当前的精度。
例如:
(12);
cout<<”precision:”<<()<<endle;
cout<<f<<endle;
如果要按更复杂的格式进行数据输入输出,则需要成员setf()对输入输出的格式状态标志进行设置。该函数具有重载实例,如下所示:
格式1:setf(long);
格式2:setf(long,long);
格式1中的参数可以是一个二进制标志位或一个标志域。