8.9 编写函数打开文件用于输入,将文件内容读入 string 类型的 vector 容器,每一行存储为该容器对象 的一个元素。8.10 重写上面的程序,把文件中的每个单词存储为 容器的一个元素

C++文件操作与vector使用
本文介绍了一个C++程序,该程序通过文件输入输出操作实现了字符串数组的存储与读取,并利用vector容器进行管理。程序首先从控制台接收用户输入的多个字符串,将这些字符串写入一个文本文件中;然后再次打开此文件,读取所有存储的字符串到一个vector容器里,并遍历输出这些字符串。
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
using namespace std;

//8.9
//8.10
int main()
{
	vector<string> files;
	string fileName = "fileList.txt";
	fstream f; //可读写
	f.open(fileName);

	if(!f) //打开失败
	{
		cout <<"Sorry! open file failed!" << endl;
		return 0;
	}

	char name[1024]; //
	while(cin.get(name,1024,'\n'),!cin.eof()) //输入
	{
		f << name << '\n'; //输入到文件
		fflush(stdin); //清除流里面的回车
	}

	f.clear(); //清除流
	f.close(); //关闭文件 这样写入的文件才能生效 一遍后面读到vector

	f.open(fileName); //再次打开来读
	char chs[1024];

	while(f.getline(chs,1024))
	{
	//cout << chs << endl;
	files.push_back(chs);
	}
	f.clear();
	f.close();
	for(vector<string>::iterator iter = files.begin(); iter < files.end(); iter ++) //遍历vector 容器
	{
		cout << *iter;
		
	}
	system("pause");
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值