以字符串mark作为分隔符,对字符串s进行分割

cpp 复制代码
int main()
{
	string s = "How are you?";
	string mark = " ";
	string tmp;
	int cur = 0, first = 0;
	//找到第一个标记
	while ((cur = s.find_first_of(mark, cur)) != string::npos)
	{
		//获取第一个标记前的子串
		tmp = s.substr(first, cur - first);
		cout << tmp << " ";
		//下一段有效字符
		first = ++cur;
	}
	//最后一段有效字符
	if (first != s.size())
	{
		tmp = s.substr(first, cur - first);
		cout << tmp << " ";
	}
	cout << endl;
	return 0;
}
相关推荐
薛定e的猫咪7 小时前
(ICML2024)QSM:基于 Q 函数梯度对齐分数场的扩散模型离策略强化学习
人工智能·深度学习·算法
Persistent的粽子!7 小时前
C++的内存管理
c++·经验分享·笔记
troy1287 小时前
Python 基础语法(六):函数与模块、文件操作、异常处理
开发语言·python
hetao17338377 小时前
2026-09-13 hetao1733837 的刷题记录
c++·算法
lv__pf8 小时前
09-深入理解AQS之独占锁ReentrantLock源码分析【TL 并发 09】
java·开发语言
hansang_IR8 小时前
【题解】[JSOI2016] 扭动的回文串
c++·算法
Lyyaoo.8 小时前
【二分查找】【困难】寻找两个有序数组的中位数
java·数据结构·算法
有点。8 小时前
C++03阶段练习(一)
数据结构·c++
这是程序猿8 小时前
Java线程池深度剖析:源码原理、核心参数、任务调度与生产调优实战
java·开发语言·python
刃神太酷啦8 小时前
Redis 核心进阶:哨兵、集群、缓存问题与分布式锁详解----《Hello Redis!》(6)
linux·c语言·数据库·c++·redis·分布式·缓存