C++常用头文件——输入输出库

前言

在开发过程中常需要带各种头文件,但是作为初学者我们常存在困惑,要实现各类功能时我们需要带什么头文件呢,本文将对头文件的功能及用法进行详细介绍。

输入/输出库

iostream头文件

iostream包含了四个头文件,能够通过以下关键词实现对应功能:

对象 功能
cin 标准输入
cout 标准输出
cerr 标准错误
clog 标准日志
wcin 标准输入
wcout 标准输入
wcerr 标准错误
wclog 标准日志

大家一定奇怪cin和wcin的区别,区别在于cin 表示“字符输入”而 wcin 表示“宽字符输入“。宽字符是用多个字节来代表的字符。
另一方面由于调用和功能均类似,cout、cerr和clog的区别也令人困惑。那么其区别在哪呢?cout的输出可以重定向到一个文件中,而cerr和clog必须输出在显示器上。而cerr和clog的区别在于cerr不经过缓冲区,而clog中的信息存放在缓冲区,缓冲区满或者遇到endl时才输出。cerr和clog存在的意义是为了在你最需要它的紧急情况下,还能得到输出功能的支持。所以并不是输出报错信息和运行日志,而是输出字符。
在程序中调用为:

#include 
using namespace std;
int main(){
 string TestName;
 cin>>TestName;
 cout<<TestName<<endl;
 clog<<TestName<<endl;
 cerr<<TestName<<endl;
 return 0;
} 

iomanip头文件

iomanip头文件是用以控制输入输出文本格式的辅助函数。能够通过关键词实现对应功能:

对象 功能
resetiosflags 重置的ios_base标志
setiosflags 设置指定的ios_base标志
setbase 更改用于整数I/O的基数
setfill 更改填充字符
setprecision 更改浮点精度
setw 更改下个输入/输出域的宽度
#include 
#include 
using namespace std;
int main(){
 // setioflags(ios::fixed) 固定的浮点显示
 // setioflags(ios::scientific) 指数表示
 // setiosflags(ios::left) 左对齐
 // setiosflags(ios::right) 右对齐
 // setiosflags(ios::skipws 忽略前导空白
 // setiosflags(ios::uppercase) 16进制数大写输出
 // setiosflags(ios::lowercase) 16进制小写输出
 // setiosflags(ios::showpoint) 强制显示小数点
 // setiosflags(ios::showpos) 强制显示符号 
 cout<<setbase(8)<<15<<endl;//  setbase(8)以八进制输出数字,同理setbase(10)、setbase(16)为以十进制、十六进制输出数字 
 cout<<'s'<<setw(8)<<'a'<<endl;//  setw(n) 设域宽为n个字符
 cout<<'s'<<setfill('*')<<setw(8)<<'a'<<endl;//  setw()默认填充的内容为空格,可以setfill()配合使用设置其他字符填充。
 cout<<setiosflags(ios::fixed)<<setprecision(3)<<1.2345<<endl;//  setprecision(n) 设显示小数精度为n位
 return 0;
} 

你可能感兴趣的:(C++开发)