隨筆-40  評(píng)論-66  文章-0  trackbacks-0

          ◆ 使用strtok函數(shù)分割。
               原型:char *strtok(char *s, char delim);
              strtok在s中查找包含在delim中的字符并用NULL('\0')來(lái)替換,直到找遍整個(gè)字符串。  
               功能:分解字符串為一組字符串。s為要分解的字符串,delim為分隔符字符串。
              說(shuō)明:首次調(diào)用時(shí),s指向要分解的字符串,之后再次調(diào)用要把s設(shè)成NULL。
                          strtok在s中查找包含在delim中的字符并用NULL('\0')來(lái)替換,直到找遍整個(gè)字符串。
              返回值:從s開(kāi)頭開(kāi)始的一個(gè)個(gè)被分割的串。當(dāng)沒(méi)有被分割的串時(shí)則返回NULL。
                            所有delim中包含的字符都會(huì)被濾掉,并將被濾掉的地方設(shè)為一處分割的節(jié)點(diǎn)。

          使用例:
          #include <stdio.h>
          #include <string.h>
          #include <stdio.h>
          #include <string.h>

          int main(int argc,char **argv)
          {
              char * buf1="aaa, ,a, ,,,bbb-c,,,ee|abc";

              /* Establish string and get the first token: */
              char* token = strtok( buf1, ",-|");
              while( token != NULL )
               {
                     /* While there are tokens in "string" */
                     printf( "%s ", token );
                    /* Get next token: */
                    token = strtok( NULL, ",-|");
               }
              return 0;
          }

          OUT 值:
          aaa

          a

          bbb
          c
          ee
          abc

          ◆ 使用strstr函數(shù)分割。

              原型:extern char *strstr(char *haystack,char *needle);

              用法:#include <string.h>
             功能:從字符串haystack中尋找needle第一次出現(xiàn)的位置(不比較結(jié)束NULL)
             說(shuō)明:返回指向第一次出現(xiàn)needle位置的指針,如果沒(méi)找到則返回NULL。

          使用例:
          #include <stdio.h>
          #include <string.h>

          int main(int argc,char **argv)
          {
               char *haystack="aaa||a||bbb||c||ee||";
               char *needle="||";
               char* buf = strstr( haystack, needle);
               while( buf != NULL )
               {
                   buf[0]='\0';
                   printf( "%s\n ", haystack);
                    haystack = buf + strlen(needle);
                    /* Get next token: */
                    buf = strstr( haystack, needle);
               }
               return 0;
          }

          OUT 值:
          aaa
          a
          bbb
          c
          ee

          ◆ strtok比較適合多個(gè)字符作分隔符的場(chǎng)合,而strstr適合用字符串作分隔符的場(chǎng)合。

          posted on 2008-02-27 16:35 Super·shen BLOG 閱讀(1475) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 抚顺县| 石阡县| 漳平市| 铜梁县| 广平县| 且末县| 永和县| 敦煌市| 兖州市| 林周县| 竹山县| 绿春县| 临猗县| 鄂伦春自治旗| 苏尼特左旗| 枝江市| 竹山县| 九江市| 深州市| 宝坻区| 甘孜| 安康市| 许昌市| 鄱阳县| 玛纳斯县| 达州市| 东宁县| 从江县| 金湖县| 澎湖县| 忻城县| 阿拉善盟| 德江县| 德令哈市| 西峡县| 秦安县| 崇文区| 兴城市| 连江县| 宁陵县| 通山县|