比如:char buf[30]="2021-7-13 17:12:35";
splitstr(buf,'-') //结果就是三个字符串 2021 7 13 17:12:35 在代码中打印切割的结果
splitstr(buf,':') //结果就是三个字符串 2021-7-13 17 12 35 在代码中打印切割的结果
#include <stdio.h>
#include <string.h>
/*封装一个函数实现根据传递的实参字符去切割字符串*/
void splitstr(char *buf,char a)
{
int i=0,j=0,k=0;
char temp[100][100];//保存切割字符串
int len=strlen(buf);
//判断能不能切割
for(int i=0;i<len;i++)
{
if(buf[i]==a)//可以切
break;
if(i>len-1)
{
printf("无法切割!\n");
return; //退出函数
}
}
while(*buf!='\0') //直到字符串结束
{
while(*buf != '\0' && *buf++ != a)//遇到切割符或字符串结束符'\0'
{
temp[i][j++]=*(buf-1);//保存字符
}
i++; //下一段
j=0;
}
for(k=0;k<i;k++) //打印
printf("%s\n",temp[k]);
}
void main()