1. 流和缓冲区
C++程序把输入输出看作字节流。输入时,程序从输入流中抽取字节,输出时,程序将字节插入到输出流中。
2. C++的iostream文件将自动创建8个流对象(4个用于窄字符流,4个用于宽字符流)
标准输入设备->cin(标准输入流) | wcin(宽字符类型) |
标准输出设备->cout(标准输出流) | wcout(宽字符类型) |
标准输出设备->cerr(标准错误流) | wcerr(宽字符类型) |
标准输出设备->clog(标准错误流) | wclog(宽字符类型) |
Ostream类创建cout对象,cout对象可使用:
Cout.write(char*s,stream_size n); //读取n个字节的字符串,可越界
cout.width(int);// 调整字段长度,只影响下来显示的一个项目(右对齐)
cout.fill(‘*’); // 填充字符 和width()一起使用
cout.precision(int); //设置打印字符精度
cin输入
1. 通常可这样使用cin
cin>>value_holder;
value_holder为存储输入的内存单元,可以是变量,引用,被解释引用的指针,也可以是类或结构成员,cin解释输入的方式取决于value_holder的数据类型
intelevation;
cin>>elevation;
键入-123z
假设键入zar,而不是-123z,抽取运算符不会修改elevation的值,并返回0;
读取字符: char ch;
cin.get(ch);//依次读取字符,空格回车制表符
cin>>ch;//跳过空格,制表符
读取字符串 : char temp[30];
cin.getline(temp,30);//读取字符,放到temp数组中,直到换行符或存储29个字符为止
返回输入中的下一个字符:cin.Peek( );
charinput[30];
charch;
intI = 0;
while((ch= cin.peek() != ‘.’)&&ch != ‘\n’)
Cin.get(input[i++]);
input[i]= ‘\0’;
文件操作
1. 要包含头文件#include<fstream.h>
写入文件
1)创建一个ostream对象管理输出流
2)将读对象与特定文件关联起来
3)以cout方式使用该对象,输出到文件
Ofstream fout;
fout.open(“jar.txt”);
fout.close();
读取文件
1) 创建一个ifstream对象管理输入流
2) 将该对象与特定文件关联起来
3) 以cin方式使用该对象
Ifstream fin;
fin.open(“jar.txt”);
ifstream fin(“jar.txt”);
fin.close( );