Re: [問題] 字串給值出現segmentation fault
你會不會是傳 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
05/07 10:06, 1F
→
05/07 10:06, , 2F
05/07 10:06, 2F
→
05/07 10:09, , 3F
05/07 10:09, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章