Re: [問題] strtok的問題
※ 引述《Schematic (唸書電動網拍)》之銘言:
: 最近在測試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"
分割後 tmp = "T";
然後你說的把T變為\0 應該是strtok裡有一個buffer去存
分割後的字串"his is a string";
如果你再繼續用strtok(NULL," ");會得到tmp = "his";
分割後的字串變為"is a string"
: 而是"his is a string"呢?
: 謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.39.160.4
討論串 (同標題文章)