zoukankan      html  css  js  c++  java
  • 正则表达式

    获取字符串中的参数:

    方法一:strtok()

    #include<stdio.h>
    #include<string.h>
    
    
    int main(void)
    {    
        char url[]="rtsp://223.99.188.13/TVOD/88888888/224/3221226214/102553956_0.smil?timeshift=1&startpos=20190129T053201Z";
        char  *mpath = url;
        char *temp = strtok(mpath,"?&");
        static int i = 0,n =0,m=0;
        char *split[i];
        char *tshift[n];
        char *spos[m];
        
        char *mURL;
        int timeshift;
        char *startpos; 
        while(temp)
        {
            split[i] = temp;
            temp = strtok(NULL,"?&");
            i++;
        }
        mURL = split[0];
        
        temp = strtok(split[1],"=");
        while(temp)
        {
            tshift[n] = temp;
            temp= strtok(NULL,"=");
            n++;
        }
        if(strcmp(tshift[0],"timeshift")==0)
            timeshift = atoi(tshift[1]);
        
        temp = strtok(split[2],"=");
        while(temp)
        {
            spos[m] = temp;
            temp= strtok(NULL,"=");
            m++;
        }
        if(strcmp(spos[0],"startpos")==0)
            startpos = spos[1];
        printf("%s
    %d
    %s
    ",mURL,timeshift,startpos);
        
        int y;
        int mon;
        int d;
        int h;
        int min;
        int s;
        sscanf(startpos, "%4d%02d%2dT%2d%2d%2dZ", &y, &mon, &d, &h, &min, &s);
        printf("%d年%d月%d日 %d:%d:%d
    ",y,mon,d,h,min,s);
        
        printf("url = %s 
    ",mpath);
        return 0;
    }

    方法二:sscanf()

    #include<stdio.h>
    #include<string.h>
    
    
    int main(void)
    {    
        char url[]="rtsp://223.99.188.13/TVOD/88888888/224/3221226214/102553956_0.smil?timeshift=1&startpos=20190129T053201Z";
        char  *mpath = url;
        int ret;
        char flag[32];
        char path[1024];
        char pos[32];
        ret = sscanf(url, "%[^?]?timeshift=%[^&]&startpos=%[^Z]", path, flag, pos);
        printf("path=%s, flag=%s, pos=%s
    ", path, flag, pos);
        
        strtok(mpath,"?");
        printf("url = %s 
    ",url);
        printf("mpath = %s 
    ",mpath);
    }
  • 相关阅读:
    闭包
    函数的嵌套和作用域链
    函数命名空间
    初识函数
    快捷键
    centos7 配置远程ssl证书访问docker
    centos 7 修改主机名称hostname
    centos7 在docker中安装gocron
    centos7 在docker中安装mongodb
    centos7 在docker中安装redis
  • 原文地址:https://www.cnblogs.com/zy791976083/p/10478531.html
Copyright © 2011-2022 走看看