[問題] 移除字串中的字元

看板C_and_CPP作者 (1)時間11年前 (2013/11/17 02:35), 編輯推噓0(0012)
留言12則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Linux 問題(Question): 看到一個字串字元處理的題目 要將一個字串傳入removeChars function,刪掉其中的某些字元 程式碼如下: http://codepad.org/Zdhew2lr 題目本來是給定用void removeChars_cstring2 這個function 小弟用了其它兩個方法: 1.string removeChars_string(char *str, char *remove) 用最直觀的c++ string 2.char *removeChars_cstring1(char *str, char *remove) function內動態記憶體配置,再return出去 但是題目本身出的void removeChars_cstring2(char *str, char *remove) 我不知道要怎麼直接讓傳進去的str處理完(不用到其它新的儲存空間) 問題大概是出在line65,66這裡 用strncpy,strncat也不行@@ 請問這該怎麼做呢? 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.176.221.68

11/17 10:52, , 1F
用搬移的. 想想 remove 前跟 remove 後的差異
11/17 10:52, 1F

11/17 11:56, , 2F

11/17 13:07, , 3F
感謝cute大!!
11/17 13:07, 3F

11/17 13:08, , 4F
原來錯在main()的char *p1不是合法空間,沒發現到呀 QQ
11/17 13:08, 4F

11/17 13:21, , 5F
不. 從函式來看主要是 '\0', p1 是因為你亂宣告
11/17 13:21, 5F

11/17 13:22, , 6F
你自己將 p1 成陣列也會是錯的
11/17 13:22, 6F

11/17 13:38, , 7F
嗯嗯 append null的確是沒注意到,char *p1是題目寫的 XD
11/17 13:38, 7F

11/17 13:38, , 8F
感謝兩位幫忙
11/17 13:38, 8F

11/17 13:42, , 9F
聽起來有點怪, 不是題目亂出可能就是會錯意.
11/17 13:42, 9F

11/17 13:46, , 10F
題目應該只有給你參數型態, 如果把 main 給你就有點怪
11/17 13:46, 10F

11/17 13:49, , 11F
可能他設陷阱吧 XDD
11/17 13:49, 11F

11/17 15:08, , 12F
但是感覺 main 就不是題目給的阿....
11/17 15:08, 12F
文章代碼(AID): #1IY2k9ho (C_and_CPP)