zoukankan      html  css  js  c++  java
  • 字符串截取算法

    获取某字符串中从某字符开始至某字符结束中间的字符串数:

     1 unsigned int get_specified_string_by_chara( char *str, char start, char over, char *substr )
     2 {
     3     char *p1, *p2;
     4     unsigned int len = 0;
     5 
     6     p1 = strchr( str, start );
     7     p2 = strchr( p1 + 1, over );
     8     *substr = 0;
     9 
    10     if ( p1 != NULL && p2 != NULL && p2 > p1 + 1 )
    11     {
    12         while ( ++p1 < p2 )
    13         {
    14             *substr++ = *p1;
    15             len++;
    16         }
    17         *substr = 0;
    18     }
    19     return len;
    20 }

    获取某字符串从出现第N个逗号开始的所有字符数:

     1 unsigned int get_specified_string_by_comma( unsigned char CNT_Comma,char *str,char *substr )
     2 {
     3     char *p=str;
     4     unsigned int len;
     5     
     6     *substr = 0;
     7     if( CNT_Comma )
     8     {
     9         while( isprint(*p) && CNT_Comma )
    10         {
    11             if( *p++ == ',' ) CNT_Comma--;
    12         }
    13         if( CNT_Comma ) return 0;
    14     }
    15     
    16     len=0;
    17     while( isprint(*p) && *p != ',' )
    18     {
    19         *substr++ = *p++;
    20         len++;
    21     }
    22     *substr = 0;
    23     return len;
    24 }

    举例说明:

     1 const char* string="+QLTS: "2019/01/13,03:40:48+32,0"";
     2 char *pstr, *pstr2;
     3 char *p1, *p2;
     4 u16 temp;
     5 
     6 void main(void)
     7 {
     8   //p1=“TS: "2019/01/13,03:40:48+32,0"”
     9   p1=strstr(string,"TS: ");           //比较字符串string是否存在固定字符串,并将p1指针指向该字符串出现第一个字符及后面所有字符
    10   if(p1!=NULL)
    11   {
    12     //temp=4,pstr="2019"
    13     temp=get_specified_string_by_chara(p1,'"','/',pstr);//获取从出现第一个字符开始,至第二个字符截止的字符串个数,并将该字符串存放在pstr中
    14     if(temp!=0)
    15     {
    16       //temp=2019
    17       temp = atoi(pstr);        //将字符转整形数据给temp
    18       if(temp==2019)
    19       {
    20         //temp=11,pstr="03:40:48+32"
    21         temp=get_specified_string_by_comma( 1, p1, pstr );//获取从第一个逗号开始,至第二个逗号截止的字符串个数,并该段字符串存放在pstr中
    22         if(temp > 15)
    23         {
    24           temp=0;
    25         }
    26       }
    27     }
    28   }
    29   for(;;)
    30   {
    31     
    32   }
    33 }
  • 相关阅读:
    Android实战开发租赁管理软件(适配UI,数据的存储,多线程下载)课程分享
    随 机 数 算 法
    java 状态模式 解说演示样例代码
    数据挖掘 决策树算法 ID3 通俗演绎
    经常使用表单数据的验证方法
    编程基本功训练:流程图画法及练�
    log4net使用具体解释
    妄想性仮想人格障害 新手教程 +改动器
    使用VS插件在VS2012/2013上编辑和调试Quick-Cocos2d-x的Lua代码
    经典回忆Effective C++ 1
  • 原文地址:https://www.cnblogs.com/lumao1122-Milolu/p/14305162.html
Copyright © 2011-2022 走看看