Копирование файла, используя имена исходного и копируемого файла как аргументы командной строки - C (СИ)
Формулировка задачи:
Напишите программу копирования файла, которая использует имена исходного файла и копируемого файла как аргументы командной строки.
я знаю как создать файл. А как дальше в нем работать?
#include <stdio.h> #include <conio.h> int main() { char bal; FILE *f; if((f=fopen("1.txt","w"))==NULL) printf("not\n"); else { while(!feof(f)) { scanf("%c", &bal); if(bal=='0') break; fprintf(f,"%c\n", bal); fclose(f); } } }
Решение задачи: «Копирование файла, используя имена исходного и копируемого файла как аргументы командной строки»
textual
Листинг программы
int main(int argc, char *argv[]) { char ch = 0; if (argv[1] && argv[2]) { FILE * from = fopen(argv[1], "r"); if (from) { FILE * to = fopen(argv[2], "w"); if (to) { while (!feof(from)) { fscanf(from, "%c", &ch); fprintf(to, "%c", ch); } printf("Successfully copied from %s to %s.", argv[1], argv[2]); } else { printf("can't open %s for writing", argv[2]); } fclose(to); } else { printf("can't open %s for reading", argv[1]); } fclose(from); } else { printf("usage file from.txt to.txt"); } return 0; }
Объяснение кода листинга программы
- Входные данные для программы - имена исходного и копируемого файла как аргументы командной строки.
- Проверка наличия аргументов командной строки.
- Открытие исходного файла для чтения.
- Проверка открытия исходного файла.
- Открытие копируемого файла для записи.
- Проверка открытия копируемого файла.
- Чтение исходного файла посимвольно и запись символов в копируемый файл.
- Проверка достижения конца файла.
- Закрытие копируемого файла.
- Проверка закрытия копируемого файла.
- Закрытие исходного файла.
- Проверка закрытия исходного файла.
- Вывод сообщения об успешном копировании.
- Обработка ошибки при открытии копируемого файла.
- Вывод сообщения об ошибке при открытии копируемого файла.
- Обработка ошибки при открытии исходного файла.
- Вывод сообщения об ошибке при открытии исходного файла.
- Вывод сообщения об ошибке в случае использования неправильной команды.
- Возврат нулевого значения.
- Завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д