Написать функцию, которая открывает файлы и инициализирует указатели типа FILE вне функции - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Требуется написать функцию, которая открывает файлы и инициализирует указатели типа FILE вне этой функции. В функции preWork файлы открываются нормально, но в main указатели файловые остаются неинициализированы. Как это поправить? Код ниже.
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #define ERR_OPEN_FILE 1
  5. #define ERR_USE 2
  6. #define SIZE_BUF 1024
  7.  
  8. void preWork(int count, char *input, char *output, FILE *in, FILE *out)
  9. {
  10. char ch;
  11. if(count != 3){
  12. puts("use: <name_prog> <input_file> <output_file>");
  13. exit(ERR_USE);
  14. }
  15. in = fopen(input, "rb");
  16. out = fopen(output, "wb+");
  17. if(!in || !out){
  18. puts("Error open file.");
  19. exit(ERR_OPEN_FILE);
  20. }
  21. }
  22. int main(int argc, char *argv[])
  23. {
  24. FILE *in = NULL, *out = NULL;
  25. preWork(argc, argv[1], argv[2], in, out);
  26. return 0;
  27. }

Решение задачи: «Написать функцию, которая открывает файлы и инициализирует указатели типа FILE вне функции»

textual
Листинг программы
  1. void preWork(int count, char *input, char *output, FILE **in, FILE **out){
  2. // ...
  3.     *in = fopen(input, "rb");
  4.     *out = fopen(output, "wb+");
  5. }
  6. int main() {
  7.   // ...
  8.   preWork(argc, argv[1], argv[2], &in, &out);
  9.   // ...
  10.   return 0;
  11. }

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

  1. В функции preWork открываются файлы input и output с помощью функции fopen и сохраняются указатели на эти файлы в переменные *in и *out соответственно.
  2. В функции main вызывается функция preWork с аргументами argc, argv[1] и argv[2], а также указателями на указатели in и out.
  3. После выполнения функции preWork указатели in и out будут содержать открытые файлы.

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


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

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

9   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы