Копирование файла, используя имена исходного и копируемого файла как аргументы командной строки - 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;
}

Объяснение кода листинга программы

  1. Входные данные для программы - имена исходного и копируемого файла как аргументы командной строки.
  2. Проверка наличия аргументов командной строки.
  3. Открытие исходного файла для чтения.
  4. Проверка открытия исходного файла.
  5. Открытие копируемого файла для записи.
  6. Проверка открытия копируемого файла.
  7. Чтение исходного файла посимвольно и запись символов в копируемый файл.
  8. Проверка достижения конца файла.
  9. Закрытие копируемого файла.
  10. Проверка закрытия копируемого файла.
  11. Закрытие исходного файла.
  12. Проверка закрытия исходного файла.
  13. Вывод сообщения об успешном копировании.
  14. Обработка ошибки при открытии копируемого файла.
  15. Вывод сообщения об ошибке при открытии копируемого файла.
  16. Обработка ошибки при открытии исходного файла.
  17. Вывод сообщения об ошибке при открытии исходного файла.
  18. Вывод сообщения об ошибке в случае использования неправильной команды.
  19. Возврат нулевого значения.
  20. Завершение работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.5 из 5
Похожие ответы