【发布时间】:2011-07-11 01:07:26
【问题描述】:
下面的代码是随机的段错误,我似乎看不出它有什么问题。任何帮助,将不胜感激。我使用 gdb 和核心文件将它隔离到这个函数中。
char* chomp(char *str)
{
unsigned int scan_ind, curr_ind;
scan_ind = curr_ind = 0;
while(str[scan_ind])
{
if(str[scan_ind] != 0x0A &&
str[scan_ind] != 0x0D)
{
if(curr_ind != scan_ind)
str[curr_ind] = str[scan_ind];
curr_ind++;
}
scan_ind++;
}
str[curr_ind] = 0;
return str;
}
【问题讨论】:
-
是否给它一个以零结尾的字符串?
-
在 valgrind 出现段错误时,您是否尝试过运行它?
标签: c linux segmentation-fault