#include <stdio.h>
#include <stdlib.h>
#include <string.h>


int main() {
   char str[] = "This is a good example"; //要被分割的
   char *s = strtok(str, " "); //分割的判斷字元
   char *put[100]; //分割後放入新的字串陣列
   int s_count=0; //分幾個了


   while(s != NULL) {
     put[s_count++]=s;  //把分出來的丟進去 結果陣列
     s = strtok(NULL, " "); //我不知道 這行幹嘛
   }


   for(int x=0;x<s_count;x++) //驗收成果
      printf("%d %s\n",x,put[x]);


   system("pause");
   return 0;
 }


/*補充 其實改成 strtok(str," @"); 這樣的話
 即使是 This@is a good@example
  也會分成 "This" "is" "a" "good" "example" 了*/


創作者介紹

Frank's 資訊科技潮流站

finalfrank 發表在 痞客邦 PIXNET 留言(1) 人氣()


留言列表 (1)

發表留言
  • Edison
  • s = strtok(NULL, " "); //我不知道 這行幹嘛
    這行只是繼續從 str 裡面抓出下個分斷點,
    如果一直用 s = strtok(str, " ");
    抓出來的永遠是第一個單字。
  • 喔我懂了 酷喔!!

    finalfrank 於 2010/12/07 11:07 回覆

找更多相關文章與討論