c++文件

/*
	文件的使用 
*/
#include<iostream>
#include<fstream>
#include<cstdlib>	//包含exit()
using namespace std;

const int Maxn = 200;

int main()
{
	/*写入到文本文件并创建它*/
	/*************************************************/
	/*文件名*/
	char file_names[Maxn];
	/*读取文件时需要的数据*/
	double file_datas[Maxn] = {18,19,18.5,13.5,14,16,19.5,20,18,12,18.5,17.5};
	/*声明一个或多个ofstream变量并以自己喜欢的方式命名它,这个变量可以像cout一样使用他*/
	ofstream outFile;
	/*文件名,记得带后缀名*/
	cin >> file_names;
	/*创建新文件,如果文件存在,原来内容会全部丢失*/
	outFile.open(file_names);
	for (int i = 0; i < 12; i++) {
		outFile << file_datas[i];//像cout一样的使用ofstream定义的变量
			outFile << " ";//用空格将数字分开
	}
	outFile << endl;
	/*关闭文件*/
	outFile.close();


	/*读取文本文件*/
	/***********************************************/
	/*声明一个或多个ifstream变量并以自己喜欢的方式命名它,这个变量可以像cin一样使用他*/
	ifstream inFile;
	/*打开这个文件,文件不存在、在另一个目录中、访问被拒绝、用户输入错误或省略了后缀名*/
	inFile.open(file_names);
	/*检查文件是否被成功打开,成功true,失败false*/
	if (!inFile.is_open())
	{
		cout << "Could not open the file " << file_names << endl;
		cout << "Program terminating.\n";
		exit(EXIT_FAILURE);
	}
	double value;
	double sum = 0.0;
	int count = 0;
	while (inFile >> value) {	//bool情况下,inFile的结果为inFile.good(),即true or false
		count++;
		sum += value;
	}
	/*
		inFile >> value;
		while (inFile.good()) {
		count++;
		sum += value;
		inFile >> value;
		}
		good()在不发生任何问题返回ture
	*/
	/*以下选择语句寻找文件结束的真正原因*/
	//判断文件有没有超过EOF
	if (inFile.eof()) {
		cout << "End of file reached.\n";
	}
	//判断类型是否匹配
	else if (inFile.fail()) {
		cout << "Input terminated by data mismatch.\n";
	}
	else
		cout << "Input terminated for unknown reason.\n";
	if (count == 0) {
		cout << "No data progressed.\n";
	}
	else
	{
		cout << "Items read:" << count << endl;
		cout << "SUM:" << sum << endl;
		cout << "Average:" << sum / count << endl;
	}
	/*关闭文件*/
	inFile.close();
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值