Ошибка сегментирования при работе с файлами - C (СИ)

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

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

Написал программу для считывания символов A из файла, и записи другого файла без этих символов
Листинг программы
  1. #include <stdio.h>
  2. main()
  3. {
  4. FILE *in, *out;
  5. char s;
  6. in = fopen("data.txt", "r"); //читаем файл
  7. out = fopen("data_new.txt", "w"); //создаем измененный файл
  8. while ((s = fgetc(in))!= EOF)
  9. {
  10. if (s != 'A') //считываем и игнорируем A
  11. fputc(s, out); //записываем переменную в файл
  12. }
  13. fclose(out);
  14. fclose(in);
  15. return 0;
  16. }
Компилировал с помощью makefile C = gcc all: file file: file.o file.o: file.c .PHONY: clean clean: rm -f file file.o Сам файл data.txt AGG Все скомпилировал, запускаю, и пишет Ошибка сегментирования. Как ее исправить?

Решение задачи: «Ошибка сегментирования при работе с файлами»

textual
Листинг программы
  1. (gdb) run
  2. Starting program: /home/cdevel/workarea/read_file/read_file
  3.  
  4. Program received signal SIGSEGV, Segmentation fault.
  5. 0x0000000000400686 in read_from_file (file_name=0x4007cc "input.txt", result_str=0x0) at read_file.c:14
  6. 14      while ((result_str[i] = fgetc(work_file)) != EOF) i++;

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


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

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

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

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

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

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