69,378
社区成员
发帖
与我相关
我的任务
分享
char* split(char *buf, int pos, char *token)
{
char *hehe;
char *content;
char backup[100];
memcpy(backup, buf, 20);//备份要数据包
content = strtok_s(backup, token,&hehe);//使用备份数据包进行切割
for (int i = 0; i < (pos-1); i++)
{
content = strtok_s(NULL, token, &hehe);
}
return content;
}
int main()
{
char string_test[] = "no,yes,love,you";
char *obj = split(string_test, 3, ",");
printf("%s\n",obj);//打印出来永远是“烫烫烫”!
}
char* split(char *buf, int pos, char *token, char *substr)
{
char *hehe;
char *content;
char backup[100];
memcpy(backup, buf, 20);
content = strtok_s(backup, token,&hehe);
for (int i = 0; i < (pos-1); i++)
{
content = strtok_s(NULL, token, &hehe);
}
memcpy(substr, backup, strlen(backup) + 1);
//printf("%s\n", backup);
return substr;
}
int main()
{
char string_test[] = "no,yes,love,you";
char substr[32];
char *obj = split(string_test, 3, ",", substr);
printf("%s\n", obj);
return 0;
}
这只是其中一种方法,如果有更好的,建议采纳更好的