c fgets分段错误

时间:2014-10-18 01:39:09

标签: c segmentation-fault fgets

我编写了一个函数,该函数应返回一串输入文本,新行字符替换为字符串结尾字符。由于某种原因,在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);
}

0 个答案:

没有答案