[問題] strtok關鍵字切割失敗

看板C_and_CPP (C/C++)作者 (紅髮Aska)時間14年前 (2012/06/08 02:25), 編輯推噓1(106)
留言7則, 4人參與, 最新討論串1/1
問題(Question): 想要判斷UNION這個字 將他前後的東西存到向量裡面 餵入的資料(Input): abcd UNION 1234 UNION 45678 預期的正確結果(Expected Output): abcd 和1234還有45678 個別存 錯誤結果(Wrong Output): 都是 abcd 程式碼(Code):(請善用置底文網頁, 記得排版) http://pastie.org/4045749 補充說明(Supplement): 問題其實出在第十行 那裡不知道為什麼得出來的temp竟然會是 NULL 導致最後vector[1]跟vector[2]都是一樣 這很奇怪 就是說 abcd UNION 1234 處理第一次得到abcd 第二次 strtok(NULL,"UNION")的時候反而得到了NULL 結果就直接break掉了 這其間有什麼誤會嗎? 一開始的地方也用過類似寫法但是沒有問題 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.112.167 ※ 編輯: askaleroux 來自: 140.116.112.167 (06/08 02:25)

06/08 02:29, , 1F
strtok是這樣用的嗎...orz
06/08 02:29, 1F
※ 編輯: askaleroux 來自: 140.116.112.69 (06/08 02:30)

06/08 06:57, , 2F
切出來的東西在TEMP內...你一直對READ動作的原因是...
06/08 06:57, 2F

06/08 06:59, , 3F
切割關鍵字的左邊再TEMP 右邊再READ 一次一個
06/08 06:59, 3F

06/08 07:08, , 4F
後面不要看 我講錯了 那是我自己寫的...
06/08 07:08, 4F

06/08 08:44, , 5F
我知道了我錯誤的地方
06/08 08:44, 5F

06/08 08:44, , 6F
因為STRTOK後面是根據字元切 所以UNION會被分開來
06/08 08:44, 6F

06/08 14:25, , 7F
建議使用r版本,以前被這個non-reentrant的婊過…
06/08 14:25, 7F
文章代碼(AID): #1FqF8Bd6 (C_and_CPP)
文章代碼(AID): #1FqF8Bd6 (C_and_CPP)