C++ iostream、iomanip 头文件详解

欢迎前往我的博客网站:chungzh.cn !

大家好,我是ChungZH!这是我的第二篇博客。在这篇博客中,我将介绍一些有关C++的iostream和iomanip库的知识,希望大家喜欢!


首先,我们来看看iostream。
相信大家都知道iostream,这个库可以说是最常用的几个库之一了。iostream库提供了输入输出流。比如cin、cout,都是在iostream里的。所以,我们经常会用到iostream这个库。

iostream这个名字很好理解,InputOutputStream,输入输出流。

我们先看看iostream的代码:

#include 
#include 
#include 

// 由于代码过长,不再继续 

可以看出,iostream自己又引用了istream和ostream这两个头文件。这两个头文件的名字也很好理解,input stream和output stream。

我们再来分别看看istream和ostream里面又引用了什么:

istream:

#include 
#include 

ostream:

#include 
#include 

这两个头文件都引用了ios,我们继续看看ios的代码:

#include 
#include     
#include 

好了,就到这里吧!其实iostream还引用了很多头文件的,我们不必深究。只知道它引用了istream、ostream和ios就行了。


iostream库定义了以下三个标准流对象:

cin表示标准输入(standard input)的istream类对象。cin可以从设备读入数据。

cout表示标准输出(standard output)的ostream类对象。cout可以向设备输出或者写数据。

cerr表示标准错误(standard error)的ostream类对象。cerr是导出程序错误消息的地方,它只能允许向屏幕设备写数据。

其中,cin和cout是比较常用的。cerr相对比较少用。

这些标准的流对象都有默认的所对应的设备,见下表:

C++对象名 设备名称 C中标准设备名 默认含义
cin 键盘 stdin 标准输入
cout 显示器屏幕 stdout 标准输出
cerr 显示器屏幕 stderr 标准错误输出

好了,对于iostream,我们就讲到这里。接下来我们将介绍iomanip。

iomanip提供了一些格式化输入输出流的函数。io代表输入输出,manip是manipulator(操纵器)的缩写。

iomanip中比较常用的函数有以下几个:

setw(int n); 预设输出宽度

setfill(Char c); 使用c作为填充字符

setbase(int n); 预设整数输出进制

setprecision(int n) 用于控制输出流浮点数的精度,整数n代表显示的浮点数数字的精度(使用四舍五入)。

讲了那么多,还是来个示例吧:

#include    // 标准输入输出流
#include     // 格式控制
using namespace std;
int main()
{
    double n;
    
    cin >> n;
    // 假设输入:123.45
    
    cout << n << endl;
    // 输出: 123.45 
    
    cout << setprecision(1) << n <

好了,这篇文章就到这里。如果大家有什么疑问,可以在下方的评论区提问,我将会一一解答。

谢谢大家!


作者:ChungZH

审校:玉璇箫

你可能感兴趣的:(C++ iostream、iomanip 头文件详解)