1. I/O流
I/O功能不是C++语言的一部分;是通过C++标准库iostream而来的;
1)iostream库:
2)流
在C++中,I/O处理是以流的形式;流是一队有序的有限的字节,亦称作缓冲池。
主要有两种流-输入流和输出流。
3)C++中的输入输出
ios是最常用的输入输出基类;istream和ostream处理输入输出的原始类;
4)C++中的标准流
主要有:cin、cout、cerr和clog
cin主要是针对键盘输入,而后3中主要是显示屏输出。
cerr是非缓冲类型的输出,即可处理类型;而clog是缓冲类型,以块的形式输出。
2. 输入流
iostream是非常复杂的库,这里讨论最常用的部分。
所有的I/O函数都在std命名空间中;
1)提取运算符
>>是输入的提取运算符,通常处理的是内建数据类型;可以重载来处理自定义数据类型。
2)提取和空白符号
可以通过>>输入单个字符,但会忽略空白符;采用cin.get(ch)可以将空白符记下;
也可以通过cin.get(buf,length)来获取指定长度的输入;
也可以通过cin.getline(buf,length)来获取指定长度的输入;
应用在string字符串的输入:getline(cin,str)。
一些比较有用的istream函数:
ignore(),抛弃流中的第一个字符;ignore(int count),抛弃流中前count个字符;
peek(),读取流中的一个字符,但不从流中剔除;upget()返回上一次取出的字符;putback(char ch)将某个字符放回流中。
待续……