c ++ getline分隔符是否为任何数字?

时间:2016-10-20 16:58:02

标签: c++ input delimiter getline istream

我输入的格式为: John Smith 2,2 3,1 2,2我需要保存约翰史密斯"作为一个字符串,然后将后续数字转换为向量。问题是,字符串部分可以是任意数量的单词。

我的计划是使用getLine并将分隔符设为'任何数字'。这可能吗?我用谷歌搜索但无法找到任何东西。感谢。

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

std::string input = ...; // "John Smith 2,2 3,1 2,2"

sName name;
std::vector<double> v;

std::istringstream iss(input);
iss >> name;
iss.imbue(std::locale(iss.getloc(), new my_punct));
std::copy(
    std::istream_iterator<double>(iss),
    std::istream_iterator<double>(),
    std::back_inserter(v)
);

DATABASE_ROUTERS = ['path.to.YourRouter']