作者Schematic (唸書電動網拍)
看板C_and_CPP
標題[問題] strtok的問題
時間Fri May 1 01:15:29 2009
最近在測試strtok的功能,發現有個疑問
程式碼:
char s[] = "This is a string";
char *tmp;
tmp = strtok(s, "T");
疑問的地方:
strtok會記錄字串分割起頭為 &s[0],
然後把分界字元改成\0,
因此這個字串應該變成了"\0his is a string"
分割起頭位置改為 &s[1],
並且會把上次分割起頭的位址傳給tmp,
我的疑問是為什麼tmp在分割後的值不是"\0",
而是"his is a string"呢?
謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.195.178
→ uest:你已經回答自己的問題了不是嗎? ==> 分割起頭位置改為$s[1] 05/02 13:01
→ Schematic:但是若我把敘述改為 tmp = strtok(s, " "); 分割起頭則 05/02 21:44
→ Schematic:改為$s[5],回傳的是上一個分割起頭,所以結果是"This" 05/02 21:45