作者LiloHuang (相见不如怀念)
看板C_and_CPP
标题Re: [问题] 字串给值出现segmentation fault
时间Thu May 7 10:02:50 2009
你会不会是传 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
1F:推 s8752199:我是传这样 CONF_removeSpace(" aa "); =.= 05/07 10:06
2F:→ s8752199:谢谢你 05/07 10:06
3F:→ s8752199:我观念真差 Orz 05/07 10:09