C語言查缺補漏(十六)streak()的使用
阿新 • • 發佈:2018-12-14
忽略點十六:streak()的使用
在ACM中,常常使用字串函式諸如:strlen求字串長度,strcpy字串複製,strcmp字串比較,strcat字串追加等等,但忽略了一個特別重要的函式——strtok()
char* strtok(char* str, const char* delimiters);
它用於將字串str
用分隔符delimiters
分為更短的字串。delimiters
是含多個字元的字串,其中每個字元都是一個獨立的分隔符。如\n\t
中\n
和\t
都是分隔符。
需要注意!!strtok
函式會改變源字串str
,返回值指向第一個由非分隔符字元的指標的分割片段;之後每次呼叫,都要把NULL
str
的末尾則會返回NULL
具體使用如下:
char s[55] = "hello,My name is Ivan,I'm fifteen years|old"; char s1[5] = ", |"; char *p = strtok(s, s1); //利用s1中分隔符將s分隔開 printf("%s\n", s); //輸出hello printf("%ld\n", strlen(s)); //輸出5,代表s只剩分隔符分隔後的第一塊 while (p != NULL) { printf("%s\n", p); //迴圈輸出每一塊 //分別為hello,My,name,is,Ivan,I'm,fifteen,years,old p = strtok(NULL, s1); //迴圈的使用方法 }
如果有寫的不對或者不全面的地方 可通過主頁的聯絡方式進行指正,謝謝!