Ошибка сегментирования при работе с файлами - 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++;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д