输入和输出相对于程序而说的。
键盘输入数据到程序:标准输入 input;
程序数据输出到显示器:标准输出 output。
标准输入+标准输出=标准I/O;
文件的输入和输出叫文件I/O;
cout: 全局流对象,输出数据到显示器(输出缓冲区);
cin: 从缓冲区读取数据(输入缓冲区)
cerr: 标准错误 输出数据到显示器;
clog: 标准日志 输出数据到显示器;
cerr没有缓冲区,clog有缓冲区。
Cout<<”hello world”<<endl;
Cout 把hello world放进输出缓冲区,但是并不会输出显示。Endl首先进行一次换行,然后对缓冲区进行刷新,使数据输出显示。
(1)标准输入流对象cin,重点掌握的函数:
Cin.get() //一次只能读取一个字符
Cin.get(一个参数)//读取一个字符
Cin.get(两个参数)//可以读取字符串
Cin.ignore()//忽略当前的字符 括号里面加几就是几个字符,无参数默认为1。举例
Cin.peek()//偷窥一下缓冲区,返回第一个字符,并不像get一样是将其取走。
Cin.putback()和cin.get()配合使用:cin.get()将缓冲区的数据拿走,cin.putback()将get拿走的数据再放回去。
Char ch;
Cin.get(ch);
Cin.ignore();
当输入abcd时,输出:a c;
首先a进入缓冲区,那么当前字符就是b,然后c 进入缓冲区,当前字符是d———因此输出为a c.
//
Char ch2;
Cin.get(ch2);//读取一个字符
Char buf[256]={0};
Cin.get(buf,256);//从缓冲区读取一个字符串
Cin.getline(buf,256);//读取一行数据,不读换行符
//
(2)C++标准输出流:
```cpp
#include<iostream>
#include<iomanip>
using namespace std;
/*
cout.flush()//刷新缓冲区
cout.put()//向缓冲区写字符
cout.write()//二进制流的输出
cout