[問題] strtok的問題

看板C_and_CPP作者 (唸書電動網拍)時間16年前 (2009/04/30 17:15), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/7 (看更多)
最近在測試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

05/02 13:01, , 1F
你已經回答自己的問題了不是嗎? ==> 分割起頭位置改為$s[1]
05/02 13:01, 1F

05/02 21:44, , 2F
但是若我把敘述改為 tmp = strtok(s, " "); 分割起頭則
05/02 21:44, 2F

05/02 21:45, , 3F
改為$s[5],回傳的是上一個分割起頭,所以結果是"This"
05/02 21:45, 3F
文章代碼(AID): #19-TooA_ (C_and_CPP)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 7 篇):
問題
2
8
問題
0
2
問題
1
2
問題
0
3
文章代碼(AID): #19-TooA_ (C_and_CPP)