为什么fgets连续返回NULL?

时间:2018-10-29 02:39:03

标签: c fopen fgets

我正在尝试编写一个程序,该程序可以打开目录中的所有给定文件,并将具有某些更改的文件输出到给定用户指定路径的另一个目录中。我创建了一个函数,该函数将在fork()之后针对当前目录中遇到的每个文件名进行调用,并且在此新目录中输出将具有相同的名称。我已经看了很多遍,但是仍然找不到为什么fgets()一直返回NULL的原因。

void sorter(char *fileName, char *directory, char*   newName){

    FILE *edit = fopen(fileName, "r");
    char buf[700];
    char *bufp = buf;
    char *fLine = fgets(bufp, sizeof(buf), edit);

    if (edit == NULL){
        exit(EXIT_FAILURE);
    }

    printf("%s\n", fLine);
    chdir(directory);
    FILE *output=fopen(newName, "w");   
    while(fLine){
        fprintf(output, fLine);
        fprintf(output, "done");    
    }   
    fclose(output);
    fclose(edit);
}

0 个答案:

没有答案