首页 > 编程语言 >C++ iostream、iomanip 头文件详解

C++ iostream、iomanip 头文件详解

时间:2024-09-09 10:47:20浏览次数:1  
标签:iostream cout cin iomanip 头文件 include

C++ iostream、iomanip 头文件详解


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

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

我们先看看iostream的代码:

#include <bits/c++config.h>
#include <ostream>
#include <istream>

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

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

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

istream:

#include <ios>
#include <ostream>

ostream:

#include <ios>
#include <bits/ostream_insert.h>

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

#include <iosfwd>
#include <exception>    
#include <streambuf>

好了,就到这里吧!其实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 <iostream>   // 标准输入输出流
#include <iomanip>    // 格式控制
using namespace std;
int main()
{
    double n;
    
    cin >> n;
    // 假设输入:123.45
    
    cout << n << endl;
    // 输出: 123.45 
    
    cout << setprecision(1) << n <<endl     // 控制精度为1,四舍五入后输出 123.5

         << setprecision(2) << n <<endl;   // 控制精度为2,四舍五入后输出 123.45
    
    cout << setfill('*') << setw(7) << n << endl;  // 位宽为7,由于n只有6位,所以左边补充一个*,输出    *123.45

    
    return 0;
}

 

标签:iostream,cout,cin,iomanip,头文件,include
From: https://www.cnblogs.com/jijm123/p/18404126

相关文章

  • iostream与iostream.h的区别
    #include<iostream.h>非标准输入输出流#include<iostream>标准输入输出流C++中为了避免名字定义冲突,特别引入了“名字空间的定义”,即namespace。当代码中用<iostream.h>时,输出可直接引用cout<<x;//<iostream.h>继承C语言的标准库文件,未引入名字空间定义,所以可直接使用。当代......
  • C语言学习,头文件
    头文件是扩展名为 .h 的文件,包含了C函数声明和宏定义,被多个源文件中引用共享。有两种类型的头文件:程序员编写的头文件和编译器自带的头文件。在程序中要使用头文件,需要使用C预处理指令 #include 来引用它。前面我们已经看过 stdio.h 头文件,它是编译器自带的头文件。......
  • C语言学习,标准库头文件
    C语言的标准库(StandardLibrary)提供了一系列用于执行常见任务的函数和宏定义,这些任务包括但不限于输入输出、字符串处理、数学计算、内存管理、时间日期处理等。C标准库并不直接包含在C语言的编译器中,作为一组头文件和库文件实现,这些文件随编译器一起提供。 常见的C标准库......
  • isspace函数讲解 <ctype.h>头文件函数
    目录​​​​​​​1.头文件2.isspace函数使用1.头文件以上函数都需要包括头文件<ctype.h>,其中包括isspace函数#include<ctype.h>2.isspace函数使用isspace函数用于判断字符是否为空白字符,而这里的空白字符,包括我们上一节讲过的部分控制字符,所以很好记忆我们......
  • isdigit函数讲解 <ctype.h>头文件函数
    目录1.头文件2.isdigit函数使用  1.头文件以上函数都需要包括头文件<ctype.h>,其中包括isdigit 函数#include<ctype.h>2.isdigit函数使用isdigit函数用于判断字符是否为阿拉伯数字0-9,如果是,则返回非0的数,如果不是则返回0比如:isdigit函数测量的一定是字......
  • IDA反编译dll库时导入C++头文件
    引言有时候,可能因为硬盘损坏等等原因,自己曾经写的动态链接库源码丢失了,幸好对应的头文件得以保留了下来,这个动态链接库主要是某种算法的实现,并没有继承其他的一些类库,比如MFC之类的,而自己对算法的实现已经忘得差不多了,而突然又需要该算法的实现过程,那么有什么办法可以帮助......
  • C 语言项目中头文件包含的最佳实
    在经典的C语言项目中,以下是一些头文件包含的最佳实践:一、保持头文件自包含性使用条件编译防止重复包含:在每个头文件的开头和结尾使用预处理器指令来确保头文件只被包含一次。例如:#ifndefHEADER_NAME_H#defineHEADER_NAME_H//头文件内容#endif这样可以避免由于......
  • C语言 - 头文件包含
    在C语言中,条件编译是一种根据特定条件决定是否编译某段代码的机制。它可以提高代码的可移植性、灵活性和效率。一、条件编译的指令#ifdef、#ifndef、#endif:#ifdef:如果某个宏已被定义,则编译其后的代码块。#ifndef:如果某个宏未被定义,则编译其后的代码块。#endif:用于结束一......
  • C++头文件<algorithm>中常用函数简介
     概述头文件algorithm(算法库)中主要提供了一些对容器操作的函数,如排序、搜索、复制、比较等,因此使用频率还是很高的,由于主要是操作容器,所以函数的语法也很类似:algorithm_name(container.begin(),container.end(),...);其中,container.begin()和container.end()分......
  • C++ 标准输入输出 -- <iostream>
    <iostream>库是C++标准库中用于输入输出操作的头文件。<iostream>定义了几个常用的流类和操作符,允许程序与标准输入输出设备(如键盘和屏幕)进行交互。以下是<iostream>库的详细使用说明,包括其主要类和常见用法示例。主要类std::istream:用于输入操作的抽象基类。std::ostre......