C语言中怎么截取字符串? 例如:str = 2001,2002 要取的结果是逗号后边的2002
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中怎么截取字符串? 例如:str = 2001,2002 要取的结果是逗号后边的2002相关的知识,希望对你有一定的参考价值。
参考技术A如果是逗号分隔的,可以用下面方法进行切割:
#include <stdio.h>#include <string.h>
// 将str字符以spl分割,存于dst中,并返回子字符串数量
int split(char dst[][80], char* str, const char* spl)
int n = 0;
char *result = NULL;
result = strtok(str, spl);
while( result != NULL )
strcpy(dst[n++], result);
result = strtok(NULL, spl);
return n;
int main()
char str[] = "2001,2002";
char dst[10][80];
int cnt = split(dst, str, ",");
for (int i = 0; i < cnt; i++)
puts(dst[i]);
return 0;
参考技术B str+5
字符串首地址就是str,所以想要获得逗号以后,选择相应地址 参考技术C char str[]="2001,2002",str1[10];
strcpy(str1,&str[5]);
则str1="2002" 参考技术D #include<string.h>
#include<stdio.h>
intmain(void)
charinput[16]="str = 2001,2002";
char*p;
p=strtok(input,",");
if(p)printf("%s\n",p);
p=strtok(NULL,",");
if(p)printf("%s\n",p);
return0;
追问
值是:"2001,2002"
取出来的值是:"2002"
是char类型。能直接用函数取出来赋值给strXXX吗?
以上是关于C语言中怎么截取字符串? 例如:str = 2001,2002 要取的结果是逗号后边的2002的主要内容,如果未能解决你的问题,请参考以下文章