ansiCの文字列に単純な関数トリムスペースを書き込もうとしています。
私の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;
}
実行しようとすると、segfaultが発生します。
int main(int argc, char** argv) {
const char* a = trim_str("Hey this is string");
printf("%s", a);
return 0;
}
なぜそれが間違っているのですか?どうすれば正しく書くことができますか?
ありがとうございました。