/* ------格式化的IO操作
* 输入输出操作符( << 和 >> ) 根据被处理数据的类型格式化所
* 读写的数据。输入操作符忽略空白,输出操作符应用填充、精
* 度等。
* ------未格式化的低级IO操作
* 未格式化的低级IO操作只是单纯地将流作为未解释的字节序列,
* 而不是作为数据类型的序列处理
* 1、未格式化的单字节低级IO操作:
* 这些操作一次一个字节地处理流,它们不忽略空白地读。
* 主要的操作如下:
* (1) is.get(ch) 将istream is 的下一个字节放入 char ch,返回 is
* (2) os.put(ch) 将字符 ch 放入 ostream, 返回 os
* (3) is.get() 返回 is 的下一字节作为一个 int 值
* (4) is.unget() 将 is 退回一个字节,返回 is
* (5) is.peek() 将下一字节作为 int 值返回但不移除它
* 2、未格式化的多字节低级IO操作:
* 这些操作一次可以读取多个字节地处理流,同样地,它们不忽略空白地读。
* 主要的操作如下:
* (1) is.get(sink, size, delim) 从is中读size个字节并将它们存储到sink 所指向的
字符数组中。对操作知道遇到delim字符,或已经读
入了size个字节,或遇到文件结束符才结束。如果出
现了delim,就将它留在输入流上,不读入到sink中
* (2) is.getline(sink, size, delim) 与三个实参的get行为类似,但读并丢弃delim
* (3) is.read(sink, size) 读size个字节到数组sink。返回is
* (4) is.gcount() 返回最后一个未格式化读操作从流is中读到的字节数
* (5) os.write(source, size) 将size个字节从数组source写至os。返回os
* (6) is.ignore(size, delim) 读并忽略之多size个字符,直到遇到delim,但不包括
delim。默认情况下,size是1而delim是文件结束符
*/