C++读取文件内容如何使用vector容器进行读取?

 我来答
匿名用户
2013-05-26
展开全部
1).#include <iostream>
#include <vector>using namespace std;int main()
{
int a[7]={1,2,3,4,5,6,7};
vector<int> va(a,a+7); for(int i=0;i<va.size();i++)
cout<<va[i]<<" ";
} 这个是简单的遍历向量,输出向量全部元素。 2).这是简单的从向量 test.txt 文本文件中提取数据到向量 vector<string> va 中,然后在输出。test.txt 的文本内容如下: 运行结果如下://程序代码如下:#include <iostream>
#include <vector>
#include <fstream>
#include <string>using namespace std;int main()
{
vector<string> va;
ifstream in("test.txt");
for(string s;in>>s;)
va.push_back(s);
for(int i=0;i<va.size();i++)
cout<<va[i]<<" ";
}
匿名用户
2013-05-26
展开全部
///$*************************************************
///$ 名称: GetVectorByString
///$ 范围: private:
///$ 功能:
///$ 参数: [const string &sInput] --- 从文件读取的一行
///$ [const string &sCompart] --- 分隔符
///$ 返回: vector<string> --- 返回以分隔符分隔组成的VECTOR集合
///$ 作者: Random 2010-04-14
///$ 分类:
///$ 修改: 修改人 修改时间 备注
///$
///$************************************************/
vector<string> GetVectorByString(const string &sInput, const string &sCompart)
{
vector<string> vecString;
CString strInput = sInput.c_str();
strInput.Replace((LPCTSTR)"\n","");
strInput.Replace((LPCTSTR)"\r","");
strInput.Replace((LPCTSTR)"\t","");
strInput.Replace((LPCTSTR)" ", "");
if(strInput == "")
return vecString;

long index = 0;
while(index >= 0)
{
CString strTmp = "";
index = strInput.Find(sCompart.c_str(), 0);
if(index < 0)
strTmp = strInput;
else
strTmp = strInput.Left(index);
strInput = strInput.Right(strInput.GetLength()-1-index);
if(strTmp == "")
continue;

vecString.push_back((string)strTmp);
}

return vecString;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式