C++读取文件内容如何使用vector容器进行读取?
2个回答
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]<<" ";
}
#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;
}
///$ 名称: 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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询