第十七章 标准库特殊设施
未格式化的输入/输出操作
标准库还提供了一组底层操作,支持 未格式化 IO 。这些操作允许我们将一个流当作一个无解释的字节序列来处理
单字节操作
有几个未格式化操作每次一个字节地处理流。它们会读取而不是忽略空白字符
语法 | 作用 |
---|---|
is.get(ch) | 从 istream is 读取下一个字节存入字符 ch 中。返回 is |
os.put(ch) | 将字符 ch 输出到 ostream os 。返回 os |
is.get() | 将 is 的下一个字节作为 int 返回 |
is.putback(ch) | 将字符 ch 返回 is 。返回 is |
is.unget() | 将 is 向后移动一个字节。返回 is |
is.peek() | 将下一个字节作为 int 返回,但不从流中删除它 |
os.put(ch) | 将字符 ch 输出到 ostream os 。返回 os |
int ch; // 使用一个 int, 而不是一个 char 来保存 get() 的返回值
// 循环读取并输出输入中的所有数据
while((ch = cin.get()) != EOF){
cout.put(ch);
}