如何解决C - 将字符串拆分为字符串
在下面的程序中,我尝试将字符串切割成单独的字符串。在我使用 strtok 的函数中,我有一个可调整的空格作为分隔符,但它不适用于所有内容 (\t)。是否可以设置更多分隔符?还是选择完全不同的分词方式?
int listOneDay(const char *src)
{
char str[100000];
strcpy(str,src);
char **res = NULL;
char *p = strtok(str," ");
int n_spaces =0;
int i;
while (p)
{
res = realloc(res,sizeof(char*)* ++n_spaces);
if (res == NULL)
exit(-1);
res[n_spaces-1]=p;
p=strtok (NULL," ");
}
res = realloc(res,sizeof(char*)*(n_spaces+1));
res[n_spaces]=0;
for(i=0; i<(n_spaces) ; ++i)
printf("%s\n",res[i]);
free(res);
return 1;
}
int main ( void )
{
const char * str1 =
"2021-01-01 2021-7-1 \'Face masks\' \"Wear everywhere\"\t1/5/2021 \'March 5,2021\' \"Face Masks\" \'Wear almost everywhere\'\n"
"1/5/2021 \'March 5,2021\' \"Face Masks\" \'Wear almost everywhere!\'\n"
"10.1.2021 \'5.2.2021\' Lockdown \"Complete\"\n"
"\'jan 2 2021\' \"JANUARY 15 2021\" lockdown \'Comlpete except dogwalking\'\n"
"2021-1-20 2021-01-20 LOCKDOWN \'Between 9PM and 6AM\'\n";
listOneDay(str1);
return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。