我有一个包含逗号分隔值的std::string
,我需要将这些值存储在某个合适的容器中,例如数组,矢量或其他容器。有什么内置的功能,我可以做到这一点?或者我需要为此编写自定义代码?C++:在特定条件下存储CSV
0
A
回答
3
如果您愿意并且能够使用Boost库,那么Boost Tokenizer可以很好地完成此任务。
这将是这样的:
std::string str = "some,comma,separated,words";
typedef boost::tokenizer<boost::char_separator<char> > tokenizer;
boost::char_separator<char> sep(",");
tokenizer tokens(str, sep);
std::vector<std::string> vec(tokens.begin(), tokens.end());
2
0
我不认为标准库中有任何可用的。我会 -
- 使用
strtok
根据,
分隔符对字符串进行标记。 - 使用
atoi
函数将其转换为整数。 push_back
向量的值。
如果您对助推库,check this thread感到满意。
0
使用AX解析器生成器,您可以轻松解析您的csv字符串,例如,
std::string input = "aaa,bbb,ccc,ddd";
std::vector<std::string> v; // your strings get here
auto value = *(r_any() - ',') >> r_push_back(v); // rule for single value
auto csv = *(value & ',') & value & r_end(); // rule for csv string
csv(input.begin(), input.end());
声明:我没有测试上面的代码,它可能有一些肤浅的错误。
相关问题
- 1. 在特定条件下从存储在localStorage中的数组中删除对象?
- 2. c#log4net在一定条件下在内存和电子邮件中存储条目
- 3. NSURLConnection在特定条件下挂起
- 4. 在特定条件下关闭会话
- 5. jqGrid celledit在特定条件下
- 6. WM_TIMER在特定条件下丢失
- 7. 在特定条件下封锁网站
- 8. 防止对象在特定条件下保存
- 9. AppEngine:查询数据存储的条件为特定属性的条件
- 10. ThenBy()不特定的条件下工作
- 11. 在JMeter的CSV数据集使用特定的CSV行(基于条件)
- 12. grep的存储在一个CSV文件
- 13. 检索特定的文件和存储
- 14. 如果在特定日期存在任何事件的条件
- 15. 实现仅在特定条件下定义的typedef
- 16. 在特定条件下java中的对象定义
- 17. 存在于特定的目录CSV文件或不
- 18. 与特定条件
- 19. 使用requests.get下载csv的特定列。
- 20. 要自动下载特定文件夹中的csv文件
- 21. 在一定的条件下
- 22. 弹性搜索在条件下聚合成存储桶
- 23. 我在特定的OR条件下从存储过程中获取SQL超时 - 为什么?
- 24. 基于特定条件的变量的Export-Csv
- 25. JSON:使用c在特定条件下获取列表中的属性值#
- 26. C#控制台在特定条件下重新运行应用程序
- 27. 存储在特定文件夹中的统一元文件
- 28. 存储过程条件
- 29. 在knockout.js viewmodel中存储特定元素
- 30. 案例条件在MySQL存储过程