解析逗號分隔的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 關注
- 2114 瀏覽
添加回答
舉報
0/150
提交
取消
