C++字符串split步骤

C++字符串split方法

在c++ string中并没有split方法,当然通过find方法可以实现一个split字符串的方法,有没有其他的更简便的方法呢?可以通过std::getline函数实现split 字符串的功能。

        istream& getline (istream& is, string& str, char delim);

getline函数从is中提取字符串并放到str里面,直到遇到delim字符(或者新行\n),如果这个delim字符被找到,它被提取并抛弃,然后下一次的输入操作将接着它开始。

通过这个函数我们可以实现一个字符串的split功能,如下:

#include <sstream>

#include <iostream>

 

int main()

{

    std::string  line="abc\tdef\tghi";

    std::istringstreamline_stream(line); 

 

    std::string piece;

    while(std::getline(line_stream, piece, '\t')) {

        std::cout <<"get piece " << piece << std::endl;

    }  

    return 0;

}