C++自学 | 6 基本输入输出

本内容仅属于个人自学记录,欢迎交流和指正,请勿转载或发表不当言论。

主要学习网址:https://www.runoob.com/


6.1 Cplus/C++ 基本输入输出

 

1.  概念明晰:

C++的 I/O 发生在流中,流的是字节序列。

输入:字节流从设备 (如键盘,磁盘驱动器,网络连接等)流向内存。

输出:字节流从内存流向设备(如显示屏,打印机,磁盘驱动器,网络连接等)。

 

2.  I/O库头文件:

头文件函数和描述
<iostream> 该文件定义了 cin、cout、cerr 和 clog 对象,分别对应于标准输入流、标准输出流、非缓冲标准错误流和缓冲标准错误流。
<iomanip> 该文件通过所谓的参数化的流操纵器(比如 setw 和 setprecision),来声明对执行标准化 I/O 有用的服务。
<fstream> 该文件为用户控制的文件处理声明服务。我们将在文件和流的相关章节讨论它的细节。

 

 

3.  标准输出流(cout):

cout << var1 << var2 << endl;

 

 其中:

  • << 运算符被重载来输出内置类型(整型,浮点型,double型,字符串和指针)和数据项。
  • endl 用于在行末添加一个换行符。 

 

 4.  标准输入流(cin):

cin >> var1 >> var2;

 

 

 5.  标准错误流(cerr):

预定义的对象 cerr 是 iostream 类的一个实例。cerr 对象附属到标准错误设备,但其对象是非缓冲的,且每个流插入到 cerr 都会立即输出。

cerr << "something to say" << str << endl;

 

 

6.  标准日志流(clog):

clog 的对象是缓冲的,意味着每个流插入到 clog 都会先存储在缓冲区,直到缓冲填满或者缓冲区刷新时才会输出。

clog <<  "something to say" << str << endl;

 

 

 7.  输入输出流的常用函数:

#include <iostream>
#include <iomanip>
using namespace std;
int main() { cout<<setiosflags(ios::left|ios::showpoint); // 设左对齐,以一般实数方式显示 cout.precision(5); // 设置除小数点外有五位有效数字 cout<<123.456789<<endl;
cout.width(
10); // 设置显示域宽10 cout.fill('*'); // 在显示区域空白处用*填充 cout<<resetiosflags(ios::left); // 清除状态左对齐 cout<<setiosflags(ios::right); // 设置右对齐 cout<<123.456789<<endl;
cout
<<setiosflags(ios::left|ios::fixed); // 设左对齐,以固定小数位显示 cout.precision(3); // 设置实数显示三位小数 cout<<999.123456<<endl;
cout
<<resetiosflags(ios::left|ios::fixed); //清除状态左对齐和定点格式 cout<<setiosflags(ios::left|ios::scientific); //设置左对齐,以科学技术法显示 cout.precision(3); //设置保留三位小数 cout<<123.45678<<endl;
return 0; }

 

 执行上述输出后得到如下结果:

123.46
****123.46
999.123
1.235e+02

 

posted @ 2020-06-25 17:31  伏延  阅读(297)  评论(0编辑  收藏  举报