C语言中 strchr() strncpy()的用法 以及根据某个字符切割字符串

本文详细介绍了C语言中strchr()和strncpy()函数的使用方法,以及如何利用它们进行字符串的切割操作。通过实例演示,读者可以轻松掌握这些基本而强大的字符串处理技巧。

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

#define _CRT_SECURE_NO_WARNINGS
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
//strchr() strncpy()的用法 以及根据某个字符切割字符串
int splitString(char* p1, char c, char buffer[10][30], int *count) {
	char* p = NULL, *pTmp = NULL;
	int tempCount = 0;
	p = p1;
	pTmp = p1;
	while (*p!='\0') {
		p = strchr(p, c);//检查符合条件的位置p 后移 
		if (p!=NULL)
		{
			if (p-pTmp>0)//算出符合条件具体的指针位置
			{
				strncpy(buffer[tempCount],pTmp,p-pTmp);
				buffer[tempCount][p - pTmp] = '\0';//变成C风格的字符串
				tempCount++;
				pTmp = p = p + 1;
			}
		}
		else {
			break;
		}

	}
	*count = tempCount;//具体有几个分割的字符串
	return 0;
}


void main() {
	int ret = 0, i = 0;
	char* p1 = "abcdef,acccd,bddddfdf,ffff,kjkjlkjkl";
	char splitC = ',';
	int nCout;
	char myArray[10][30];
	ret = splitString(p1, splitC, myArray, &nCout);
	for (i = 0; i < nCout; i++)
	{
		printf("%s\n",myArray[i]);
	}

	system("pause");
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值