Ошибка сегментирования при работе с файлами - C (СИ)
Формулировка задачи:
Написал программу для считывания символов A из файла, и записи другого файла без этих символов
Компилировал с помощью makefile
C = gcc
all: file
file: file.o
file.o: file.c
.PHONY: clean
clean:
rm -f file file.o
Сам файл data.txt
AGG
Все скомпилировал, запускаю, и пишет Ошибка сегментирования.
Как ее исправить?
#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;
}Решение задачи: «Ошибка сегментирования при работе с файлами»
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++;