您的位置:首页 > 编程语言 > C语言/C++

使用c++标准io解析csv

2012-07-05 08:17 411 查看
c++的io流是非常方便的。可惜初学者没有很好领会它的精髓。“流”的概念对方便字符串处理很重要,“流”最大的特点就是对于输出它会不断“流出”,对于输入“流入”。而我们没用用流的话处理字符窜基本都是整个字符串,这个字符串是相对静止的。比如"Hello World" 流出"Hello" 后变成"World",而通常的字符串对象处理了"Hello",仍然是"Hello World"。 事实上,我们很多时候对一个文本或者字符串的每个字符只需要处理一遍,就像看书一样,我们只需要一字一字往下读,读完部分可以撕掉。
#include <sstream>
#include <vector>
#include <string>
void SprictRecord(const string& strInput,vector<string>&vecOutput)
{
vecOutput.clear();
istringstream iss(strInput);
ostringstream oss;
char ch;
while(iss.get(ch))
{
if (ch==',')
{
vecOutput.push_back(oss.str());
oss.clear();
}
else
{
oss<<ch;
}
}
vecOutput.push_back(oss.str());
return;
}
void JoinRecord(vector<string>&vecInput, string& str)
{
ostringstream oss;
vector<string>::iterator it=vecInput.begin();
oss<<*it++;
for (;it!=vecInput.end();it++)
{
oss<<','<<*it;
}
str=oss.str();
return;
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  csv c++ io iterator string c