看《C++ primer plus》 学习C++,对文件输入/输出这一块看的有点晕,记一下理一理。
cout与文件输出的对比
cout
- 需包含头文件 iostream
- iostream定义了ostream类,用于处理输出
- iostream声明了一个名为cout的ostream对象(变量)
- 需指明namespace std
- 结合cout(ostream对象)和<<(操作符)显示数据
文件输出
- 需包含头文件fstream
- fstream定义了ofstream类,用于处理输出(文本输出?)
- 需自行声明ofstream对象(变量),并将ofstream对象与文件关联起来(如使用open()),使用完文件后,用close()将文件关闭
- 需指明namespace std
- 结合ofstream对象(自行声明的)和<<(操作符)显示数据,可以向使用cout一样使用ofstream对象(相当于把控制台输出改成了输出到文本)
cin和文件读取的对比
cin
- 需包含头文件iostream
- iostream定义了istream类,用于处理输入
- iostream定义了一个名为cin的istream对象
- 需指明namespace std
- 使用cin>>读取各种类型数据
- cin.get()读取一个字符,cin.getline()读取一行字符
- cin.eof(),cin.fail()判断输入是否成功
- 对象cin本身用于测试条件时,若最后一个读取操作成功,将转换为true,否则为false
文本读取
- 需包含头文件fstream
- fstream定义了ifstream类,用于处理输入
- 需自行声明ifstream对象,并将ifstream对象和文件关联起来(使用open()方法),使用完文件用close()方法关闭
- 需指明namespace std
- 及后面同上(像使用cin一样使用关联了文件的ifstream对象)