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

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

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

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

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

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

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


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

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

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