Почему fgets непрерывно возвращает NULL? - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь написать программу, которая может открывать все заданные файлы в каталоге и выводить файлы с некоторыми изменениями в другой каталог с указанием пути, указанного пользователем. Я сделал функцию, которая будет вызываться после 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);
}
...