解析逗号分隔的std:string如果我有一个包含逗号分隔的数字列表的std:string,那么解析这些数字并将它们放入整数数组的最简单方法是什么?我不想把它概括为解析其他任何东西。只是一个简单的逗号分隔整数字符串,如“1,1,1,1,2,1,1,1,0”。
3 回答
慕神8447489
TA贡献1780条经验 获得超1个赞
stringstream ss( "1,1,1,1, or something else ,1,1,1,0" );vector<string> result;while( ss.good() ){ string substr; getline( ss, substr, ',' ); result.push_back( substr );}
Cats萌萌
TA贡献1805条经验 获得超9个赞
#include <locale>#include <vector>struct csv_reader: std::ctype<char> { csv_reader(): std::ctype<char>(get_table()) {} static std::ctype_base::mask const* get_table() { static std::vector<std::ctype_base::mask> rc(table_size, std::ctype_base::mask()); rc[','] = std::ctype_base::space; rc['\n'] = std::ctype_base::space; rc[' '] = std::ctype_base::space; return &rc[0]; }};
imbue()
#include <algorithm>#include <iterator>#include <iostream>int main() { std::cin.imbue(std::locale(std::locale(), new csv_reader())); std::copy(std::istream_iterator<int>(std::cin), std::istream_iterator<int>(), std::ostream_iterator<int>(std::cout, "\n")); return 0;}
- 3 回答
- 0 关注
- 2061 浏览
添加回答
举报
0/150
提交
取消