【发布时间】:2012-05-23 10:07:11
【问题描述】:
我正在尝试在 ansi C 中的字符串中编写简单的函数修剪空间。
我的 str_utis.h:
#include <string.h>
const char* trim_str(char *input_str);
我的 str_utils.c:
const char* trim_str(char* input_str){
char* str = NULL;
int len = strlen(input_str);
int i = 0;
for (i = 0; i < len - 1; i++){
if (input_str[i] == ' ')
;
else
str += input_str[i];
}
return str;
}
当我尝试执行它时,我得到了段错误:
int main(int argc, char** argv) {
const char* a = trim_str("Hey this is string");
printf("%s", a);
return 0;
}
为什么错了?怎么写正确?
谢谢。
【问题讨论】:
-
+=不是 C 中的字符串连接。它是指针添加。