在C ++中分割字符串

这个问题在这里已经有了答案:

  • 迭代字符串最优雅的方式[已关闭] 74个答案

  • 这对我很好:),它把结果放在elemsdelim可以是任何char

    std::vector<std::string> &split(const std::string &s, char delim, std::vector<std::string> &elems) {
        std::stringstream ss(s);
        std::string item;
        while(std::getline(ss, item, delim)) {
            elems.push_back(item);
        }
        return elems;
    }
    

    有了这个包含Boost的Mingw发行版:

    #include <iostream>
    #include <string>
    #include <vector>
    #include <iterator>
    #include <ostream>
    #include <algorithm>
    #include <boost/algorithm/string.hpp>
    using namespace std;
    using namespace boost;
    
    int main() {
        vector<string> v;
        split(v, "1=2&3=4&5=6", is_any_of("=&"));
        copy(v.begin(), v.end(), ostream_iterator<string>(cout, "n"));
    }
    

    尝试使用stringstream:

    std::string   line("A line of tokens");
    std::stringstream lineStream(line);
    
    std::string token;
    while(lineStream >> token)
    {
    }
    

    看看我对你最后一个问题的回答:
    C ++读取文件标记

    链接地址: http://www.djcxy.com/p/19573.html

    上一篇: Splitting strings in C++

    下一篇: c++ Split string by a character?