Re: [問題] 字串給值出現segmentation fault

看板C_and_CPP (C/C++)作者 (相見不如懷念)時間16年前 (2009/05/07 10:02), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串2/2 (看更多)
你會不會是傳 const char *str 進去 ex: char *abc = "test"; // 應該寫成 const char *abc = "test"; CONF_removeSpace(abc); 如果是這樣你應該改成 char abc[] = "test"; CONF_removeSpace(abc); 試試看吧~ ※ 引述《s8752199 (s8752199)》之銘言: : ※ [本文轉錄自 CD-R 看板] : 作者: s8752199 (s8752199) 站內: CD-R : 標題: [問題] 字串給值出現segmentation fault : 時間: Thu May 7 09:18:49 2009 : 我想寫一個刪除前後空格的副函數 : char *CONF_removeSpace(char *original) : { : char *change = original; : int i = 0; : while(original[i] != '\0') : { : if(original[i] != ' ') : break; : else : change++; : i++; : } : for(i = strlen(change)-1; i >= 0; i--) : { : if(change[i] != ' ') : break; : else : change[i] = '\0'; //但執行這行時會出現segmentation fault : } : return change; : } : 請問是甚麼問題呢? : 感覺一點都沒有錯誤 : change[i]可印出值可卻不能給它值 : 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.79.63.18

05/07 10:06, , 1F
我是傳這樣 CONF_removeSpace(" aa "); =.=
05/07 10:06, 1F

05/07 10:06, , 2F
謝謝你
05/07 10:06, 2F

05/07 10:09, , 3F
我觀念真差 Orz
05/07 10:09, 3F
文章代碼(AID): #1A0a5BpP (C_and_CPP)
文章代碼(AID): #1A0a5BpP (C_and_CPP)