隨筆-40  評論-66  文章-0  trackbacks-0

          ◆ 使用strtok函數分割。
               原型:char *strtok(char *s, char delim);
              strtok在s中查找包含在delim中的字符并用NULL('\0')來替換,直到找遍整個字符串。  
               功能:分解字符串為一組字符串。s為要分解的字符串,delim為分隔符字符串。
              說明:首次調用時,s指向要分解的字符串,之后再次調用要把s設成NULL。
                          strtok在s中查找包含在delim中的字符并用NULL('\0')來替換,直到找遍整個字符串。
              返回值:從s開頭開始的一個個被分割的串。當沒有被分割的串時則返回NULL。
                            所有delim中包含的字符都會被濾掉,并將被濾掉的地方設為一處分割的節點。

          使用例:
          #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函數分割。

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

              用法:#include <string.h>
             功能:從字符串haystack中尋找needle第一次出現的位置(不比較結束NULL)
             說明:返回指向第一次出現needle位置的指針,如果沒找到則返回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比較適合多個字符作分隔符的場合,而strstr適合用字符串作分隔符的場合。

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

          只有注冊用戶登錄后才能發表評論。


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 深水埗区| 荃湾区| 威远县| 子洲县| 耒阳市| 郸城县| 定边县| 谢通门县| 来安县| 鹤山市| 仁怀市| 察隅县| 卢龙县| 延庆县| 呼图壁县| 台江县| 合江县| 铜梁县| 济源市| 望江县| 克拉玛依市| 南和县| 江口县| 瑞金市| 叶城县| 雷州市| 门源| 黄石市| 太谷县| 永顺县| 准格尔旗| 布拖县| 安新县| 大洼县| 万安县| 安福县| 长沙县| 永清县| 岳普湖县| 鄂托克前旗| 绩溪县|