使用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; }
相关文章推荐
- 服务端使用c++实现websocket协议解析及通信
- C++使用Jsoncpp解析Json数据
- 使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast
- C++ 中使用boost::property_tree读取解析ini文件
- C++命名空间 namespace的作用和使用解析
- 在C++中使用TinyXML2解析xml
- 在c++中使用json----保存到文件、从文件中解析
- C++ 使用Htmlcxx解析Html内容(VS编译库文件)
- C++可使用的IO
- linux c/c++ 聊天小程序代码示例 (使用socket 和 IO 多路复用技术)
- C++中使用类模板时出现:“error LNK2019: 无法解析的外部符号”的解决办法
- C++ 使用TinyXML解析XML文件
- C++ 使用TinyXML解析XML文件
- C++使用static的错误:无法解析的外部符号、“static”不应在文件范围内定义的成员函数上使用 .
- C++ 命令行解析库 tclap 使用方法
- 解析C++中的for循环以及基于范围的for语句使用
- 在C++中使用正则解析字符串的例子
- 使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast
- Python数据解析 - 使用csv模块处理CSV格式数据
- CSV标准格式解析与libcsv++实现