Z02 fstream中ifstream的简单用法
2017-10-28 22:22
363 查看
1、引言
本篇将介绍fstream中ifstream(input file stream)的用法,ifstream是从硬盘到内存,本例读取文本数据至控制台显示。2、比较istream与ifstream
1)使用istream的准备必须包含头文件iostream;
头文件iostream定义了一个用处理输入的istream类;
头文件iostream声明了一个名为cin的istream变量对象;
必须指明名称空间std;
可以结合使用cin和运算符>>来读取各种类型的数据;
可以使用cin和get()方法读取一个字符,使用cin和getline()来读取一行字符;
可以结合使用cin和eof()、fail()方法来判断输入是否成功;
对象cin本身被用作测试条件时,如果最后一个读取操作成功,它将被转换为布尔值true,否则被转换为false。
2)使用ifstream的准备
必须包含头文件fstream;
头文件fstream定义了一个用于处理输入的ifstream类;
需要声明一个或多个ifstream变量对象;
必须指明名称空间std;
需要将ifstream对象与文件关联起来,方法之一open();
使用完成文件后,应使用close()方法将其关闭;
可结合ifstream与运算符>>来读取各种类型的数据;
可以使用ifstream和get()方法来读取一个字符,,使用ifstream和GetLine()方法来读取一行字符;
可以结合ifstreamhe eof()、fail()等方法来判断输入是否成功;
ifstream对象本身被用作测试条件时,如果最后一个读取操作成功,它将转换为布尔值true,否则被转换为false。
3、示例代码
#include <iostream> #include <fstream> #include <cstdlib> //exit() const int SIZE = 60; int main(void) { using namespace std; char filename[SIZE]; ifstream fin; cout << "Enter name of data file: "; cin.getline(filename, SIZE); fin.open(filename); if (!fin.is_open()) { cout << "Could not open the file " << filename << endl; cout << "Program terminating.\n"; exit(EXIT_FAILURE); } double value; double sum = 0.0; int count = 0; fin >> value; while (fin.good()) { ++count; sum += value; fin >> value; } if (fin.eof()) { cout << "End of file reached.\n"; } else if (fin.fail()) cout << "Input terminated by data mismatch.\n"; else cout << "Input terminated for unkown reason.\n"; if (count == 0) { cout << "No data processed.\n"; } else { cout << "Items read: " << count << endl; cout << "Sum: " << sum << endl; cout << "Average: " << sum / count << endl; } fin.close(); system("pause"); return 0; }注意点:
a、头文件中引入了cstdlib用于程序出现错误时的exit()方法使用;
b、使用fin.open(filename)后要判断文件是否被正确打开fin.is_open(),以免发生错误;
c、读取文件时要检查读取文件不应超过EOF;
d、读取文件要检查类型是否匹配,遇到不匹配fail()方法将返回true;
e、使用good()方法,在没有发生任务错误时返回为true;
输出:
(1)打开读取scores.txt文件格式
(2)控制台输出
相关文章推荐
- c++文件流基本用法(fstream, ifstream, ostream)
- C++文件读写详解(ofstream,ifstream,fstream)还有简单使用
- c++文件流基本用法(fstream, ifstream, ostream)
- fstream和ifstream详细用法
- c++文件流基本用法(fstream, ifstream, ostream)
- fstream,ifstream,ofstream 详解与用法 .
- fstream和ifstream详细用法
- fstream和ifstream详细用法
- fstream,ifstream,ofstream 详解与用法
- fstream,ifstream,ofstream 详解与用法
- fstream和ifstream详细用法 .
- c++文件流基本用法(fstream, ifstream, ostream)
- fstream和ifstream详细用法
- fstream和ifstream详细用法,c++文件输入输出要注意!!
- c++文件流基本用法(fstream, ifstream, ostream)
- 转载:fstream和ifstream详细用法
- c++文件流基本用法(fstream, ifstream, ostream)
- fstream,ifstream,ofstream 详解与用法
- c++文件流基本用法(fstream, ifstream, ostream)
- c++文件流基本用法(fstream, ifstream, ostream)