6.8

6.8 简单的文件输入输出

第十七章将更详细地讨论

文本I/O和文本文件

cin读取char、int、double类型、char类型数组
文本文件:每个字节都储存了一个字符编码的文件

写入到文本文件中

头文件: 命名空间:std 类:ostream 变量:cout
头文件: 命名空间:std 类:ofstream
ofstream.open() // 接受一个C风格字符串作为参数, 默认将原来的文件截断为0
ofstream.close()
当将 ofstream 变量和文本文件关联后, 可以像使用 cout 一样使用(所有的方法)
ostream.precision(val); // 控制精度, 小数点后保留val位
ostream.setf(ios_base::showpoint); // 强制显示浮点数后面的0

读取文本文件

头文件: 命名空间:std 类:istream 变量:cin
头文件: 命名空间:std 类:ifstream
ifstream.open() // 接受一个C风格字符串作为参数, 默认将原来的文件截断为0
ifstream.close()
当将 fstrea 变量和文本文件关联后, 可以像使用 cin 一样使用(所有的方法)
可以使用eof()、fail()等方法判断是否输入成功
如果试图打开不存在的文件进行输入:
inFlie.open("bowling.txt");
if (!inFile.is_open())
{
exit(EXIT_FAILURE);
}
ifstream.is_open(); // 检查文件是否打开成功
ifstream.good(); // 可以用来检测EOF, 没有任何错误时返回true, 在需要bool值的时候, ifstream可以转换位true/false, 所以可以直接将变量放到循环条件判断中
exit(); // 终止程序
istream.eof(); // 读取到了EOF, 返回true
istream.fail(); // 读取时发生了类型匹配错误