C/C++教程

C++分割字符串方法

本文主要是介绍C++分割字符串方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

C++标准目前没有提供分割字符串的方法,但可以自己实现之。

测试代码如下:

#include <vector>
#include <string>
#include <iostream>

std::vector<std::string> Split(const std::string& str, const char* delim)
{
	std::vector<std::string> result;
	size_t delim_len = strlen(delim);
	std::string::size_type pos1 = 0;
	std::string::size_type pos2 = str.find(delim);

	while (pos2 != std::string::npos)
	{
		result.emplace_back(str, pos1, pos2 - pos1);

		pos1 = pos2 + delim_len;
		pos2 = str.find(delim, pos1);
	}

	if (pos1 != str.length())
	{
		result.emplace_back(str, pos1);
	}

	return result;
}

int main()
{
	std::string str = "hello|world|hi|cpp";

	auto res = Split(str, "|");

	for (const auto& item : res)
	{
		std::cout << item << std::endl;
	}

	std::cin.get();
}
这篇关于C++分割字符串方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!