这篇博客是从旧博客 WordPress 迁移过来,内容可能存在转换异常。
这一章是比较重要,也比较实用的一章,讲了输入输出的一些基础,比较系统。
- 1.(P584)
按照面向对象原则,stream是由某个类别定义出来的具有特定性质的对象。
输出操作被解读为“数据流入stream”
输入操作被解读为“数据流出stream”
下图是Stream Class的阶层体系:
- 2.(P596)
如果一个型别为void*的参数被传递至output操作符,其地址将被打印出来。
eg.
#include
using namespace std;
int main()
{
freopen("out.txt", "w", stdout);
char* cstr = "hello";
cout << "C-string " << cstr << " is located at address: " << static_cast(cstr) << endl;
return 0;
}
输出:
C-string hello is located at address: 00417828
- 3.(P597)
Stream的状态
状态有:goodbit, eofbit, failbit, badbit(badbit代表比failbit更严重的错误)
一些处理状态的成员函数: good(), eof(), fail(), bad(), rdstate(), clear(), clear(state), setstate(state)
用于布尔表达式的stream操作符: operator void* () , operator !()
- 4.(P607)
(以下参数均未写出)
用于输入的成员函数:get(), getline(), read(), readsome()
用于输出的成员函数:put(), write(), flush()
- 5.(P615)
格式化
这一节很重要,也很强大。都比较常用,一定要记住并且熟练掌握。
- 6.(P627)
文件存取
同第五点,要熟练掌握!
因为时间的原因,这一章大概看到645面,后面的包括国际化(第十五章)暂时不准备看,等以后有时间的再看。