C/C++中自定义split函数来分割字符串,并返回vector类型数据

C/C++中自定义split函数来分割字符串,并返回vector类型数据

主要内容

为什么要自定义split函数来分割字符串呢?

本文的初衷有以下两点:

  1. C/C++中的Split函数是strtok()其函数原型如下::
    char * strtok (char * str, const char * delimiters);
    这返回的是一个char指针类型,如果想要直接返回vector类型,你有必须看一下本文。
  2. 想要提供一个特别简单的字符串分割方法,本方法的时间复杂度是O(n),没有使用其他的函数。

自定义split函数返回vector类型的数据?

闲话少说,直接上代码:

#include<iostream>
#include<vector>
#include<string>
using namespace std;

int main() {
	string line;
	cin >> line;
	vector<string> strArr;
	string temp = "";
	int i = 0;
	while (line[i] != '\0') {
		if (line[i] - ',' == 0) {
			strArr.push_back(temp);
			temp = "";
		}
		else
			temp = temp + line[i];
		i++;
	}
	if(temp.length() > 0)
		strArr.push_back(temp);
	for (i = 0; i < strArr.size(); i++)		
		cout << strArr[i] << endl;
	system("pause");
	return 0;
}
发布了4 篇原创文章 · 获赞 0 · 访问量 132

猜你喜欢

转载自blog.csdn.net/zhangkkit/article/details/105545614