c语言之字符串分离

字符串分割与输出
本文介绍了一个C语言程序,该程序能够将一个包含逗号分隔的字符串分割成多个子字符串,并将其存储在一个二维数组中。此外,还提供了一个打印数组内容的函数。通过示例演示了如何使用这些函数来处理特定的字符串。
//从字符串中分离出逗号隔开的字符串  保存于二维数组中
void SplitStrByStr( char* sources, char str, char arry[10][20], int* count){

	int tmpCount = 0;
	char* sourcesCp1 = NULL;
	char* sourcesCp2 = NULL;
	sourcesCp1 = sources;
	sourcesCp2 = sources;

	do{
		//查找字符串s中首次出现字符c的位置
		sourcesCp1 = strchr(sourcesCp1, str);
		if (sourcesCp1 != NULL){
			if (sourcesCp1 - sourcesCp2 > 0){
				//返回找到字符的下一个位置 把之前的数据拷贝到数组中区
				strncpy_s(arry[tmpCount], sourcesCp2, sourcesCp1 - sourcesCp2);
				arry[tmpCount][sourcesCp1 - sourcesCp2] = '\0';
				tmpCount++;
				sourcesCp1++;
				sourcesCp2 = sourcesCp1;
			}
		}
		else
		{
			break;
		}
	} while (*sourcesCp1 != '\0');
	*count = tmpCount;

}

//输出数组
void PrintArryData(char arry[10][20], int cnt){
	for (int i = 0; i < cnt; i++){
		printf("%s\n", arry[i]);
	}
}

void main(){
	int line = 0;
	char arry[10][20];
	char* pStr = "Rose_Girl1,Rose_Girl2,Rose_Girl3,Rose_Girl4,Rose_Girl5,";
	char tmpChar = ',';

	SplitStrByStr(pStr, tmpChar, arry, &line);
	PrintArryData(arry, line);

	
	system("pause");
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值