→ xvid:string::copy string::substr strncpy strstr都可以 09/09 01:47
→ xvid:可以找找 www.cplusplus.com 09/09 01:47
→ EdisonX:strstr+1 09/09 01:51
不好意思,我詳細說明我要的內容好了,主要是要做出取代子字串題目,例如我搜尋3456,
3456會被我指定的的其他字串取代,所以我才會想要去抓012跟789,最後在接起來變成答
案,但是我不會用strstr去抓789,因為搜尋東西是不固定的。
※ 編輯: wind00962 來自: 118.168.191.134 (09/09 02:56)
→ legnaleurc:為什麼要抓 789? 你知道 "3456" 的位置和長度 09/09 03:26
→ legnaleurc:不就知道前後字串的位置?再接起來就好啦? 09/09 03:26
→ johnhmj:破壞原字串…建一個buffer把原字串複製過去如何? 09/09 04:20
推 EdisonX:如果考慮到將 "3456" 取代成 "ab" 或 "abcdefg",那不可能 09/09 06:25
→ EdisonX:不破壞原字串,甚至直接再弄個 buffer 複製是較簡便方法. 09/09 06:25
推 EdisonX:再補一下,你原本的想法會造成 pointer 失效.. 09/09 06:30
→ diabloevagto:直接clone+1 09/09 08:23
→ dirkc:為何不考慮用陣列加迴圈的方式,字串函式內部還是迴圈來作的 09/09 10:28
→ xvid:string::find + string::replace ? 09/09 10:51
目前找到可以成功方法,例如1234567890我要把567取代成ABC那就是先用startok把1234
擷取出來,NULL剩67890,再用一次startok把67取出,抓出NULL值(890)最後三個字串聯結
就是答案,不過這樣做會太複雜嗎? 主要是要取代的值不一定長度相同
※ 編輯: wind00962 來自: 118.168.191.134 (09/09 11:07)
→ MOONRAKER:隨手拿到把鈍刀就只用那鈍刀,執迷不悟。隨便你。 09/09 12:00
推 stupid0319:原來自己寫含數來取代內建的是很困難的事 09/09 12:01
推 k387259:自己寫配內建更強阿 程式這麼大發展性 09/09 12:32
推 EdisonX:@k38~ 重點是這問題分明是重寫一個比 strtok 快很多啊!! 09/09 13:55
→ lions0164:這用陣列+迴圈處理應該很簡單吧 09/09 14:27
→ xvid:API不看也不查 一堆版友熱心建議也不看 奇葩! 09/09 21:16
謝謝大家的指導,其實我一開始也是用簡單迴圈下去做就出來了,但是教授希望叫我用函數
下去寫,我也覺得很奇怪
※ 編輯: wind00962 來自: 36.226.52.142 (09/09 21:29)
→ xvid:關鍵字和連結都給你了 如果直接給你原始碼對你的學習沒幫助 09/10 02:46
→ xvid:如果沒我沒會錯意 string::replace可以達到你的需求 09/10 02:47
→ xvid:瞭解函式怎麼使用 在練習怎麼把string::find的回傳值給 09/10 02:48
→ xvid:string::replace 09/10 02:48