C++ 分隔符分割字符串并保存进数组

本文介绍了在C++中使用三种不同的方法来分割字符串,包括使用istringstream、strtok和stringstream结合getline,每种方法都有其适用场景,对于处理以特定字符为分隔符的字符串提供了实用的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在leetcode 刷题中经常会遇到一个字符串,以空格,或者“,”、“/”等分开然后使用,但是之前一直疏于整理,在这里记录以分隔符分割字符串的方法, 三种方法对应使用情况不同推荐方法3

int main()
{
	int length;
	string st = "Enter,the,name,of,an,existing,text,file:";
	istringstream stream(st);
	int i = 0;
	char array[20] = { 0 };
	while (stream.get(array, 20, ','))
	{
		length = stream.tellg();
		cout << array << endl;
		stream.seekg (length + 1, ios::beg);
	}

	system("pause");
	return 0;
}

在这里插入图片描述

int main()
{
	char str[] = "Please split this  sentence into  tokens";
	char * p = strtok(str, " ");
	cout << p << endl;
	while (p != NULL)
	{
		cout << p << endl;
		p = strtok(NULL, " ");
	}
	return 0;
}

在这里插入图片描述

int main()
{
	string path = "/home/mao/";
	stringstream is(path);
	string tmp;
	while (getline(is, tmp, '/'))
	{
		cout << tmp << endl;
	}
	return 0;
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值