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