реализует функцию копирования, которая использует fscanf
для чтения по одному символу за раз из ввода и fprintf
для печати по одному символу за раз на выходе.
реализует функцию копирования, которая использует fgetc
для чтения по одному символу за раз из ввода и fputc
для печати по одному символу за раз на выходе.
Есть ли другие способы, которыми я мог бы сделать это без использования c[BUFSIZ]
?
Вот то, что я пытался закодировать:
Первый вопрос:
static void copy(FILE *input, FILE *output) {
char c = 0;
while (fscanf(input, "%c", &c) != 0) {
fprintf(output, "%c", c);
}
}
Второй вопрос:
static void copy(FILE *input, FILE *output) {
char c[BUFSIZ];
while (fgets(c, BUFSIZ, input) != NULL) {
fputs(c, output);
}
}
Предполагается, что функция копирования будет выполнена, а детали упомянуты выше.