我编写了一个函数,该函数应返回一串输入文本,新行字符替换为字符串结尾字符。由于某种原因,在fgets过程中发生了分段错误(它从未到达test2)。我没有人问过这个问题可以解释一下。有谁知道我做错了什么?
P.S。我这样称呼这个函数:
char search[256];
getSearch(search);
// getSearch功能
char* getSearch(char searchText[256]) {
printf("test1\n");
printf("Search text: ");
fflush(stdout);
fgets(searchText, 256, stdin);
printf("test2");
int i;
for (i=0; searchText[i] != '\0'; i++) {
if (searchText[i] == '\n') {
searchText[i] = '\0';
i--;
}
}
char *search = searchText;
return (search);
}