C++中stringstream的一种应用

之前有人吐槽用 C++ 写一些输入格式比较奇怪的屑题的时候很麻烦,所以这里介绍一下 stringstream 的简单用法。虽然 C++ 的字符串确实存在诸多缺陷,但应付这些问题还是绰绰有余的。

面对类似于这种格式的数据:

[abc,de,fgh,zzz]

可以采用下面的方式来实现读取与分割。注意 string.find 函数返回的是一个无符号整数,表示该字符的位置。

vector<string> readLine() {
    string line, s;
    getline(cin, line);
    line.erase(line.find('['), 1);
    line.erase(line.find(']'), 1);
    stringstream ss(line);
    vector<string> ret;
    while (getline(ss, s, ',')) {
        ret.push_back(s);
    }
    return ret;
}

stringstream 的其他应用以后再写。

你可能感兴趣的:(C++,c++)