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的主要内容,如果未能解决你的问题,请参考以下文章

C语言截取字符串

用C语言截取字符串

C语言截取字符串将大写字母转换为小写字母。

c语言截取字符串中的一部分

C语言中 小数点前、后面的零怎么控制输出 比如,0.001-变为.001;200.00变为200;200.1不变。

MYSQL数据库怎么截取摘要?