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;
}