Прежде всего, заранее извиняюсь за любой неаккуратный код - я относительно новичок в C. В настоящее время я пробираюсь через некоторое программирование для моего вводного класса ОС, но потратил слишком много часов своих выходных, пытаясьПеребирая сквозь эту проблему, я полагаю, что пришло время проглотить свою гордость и попытаться подтолкнуть ее в правильном направлении.Он имеет дело со сжатием основных текстовых файлов и предназначен для использования системных вызовов и каналов Unix.После вызова fork () один процесс должен обрабатывать чтение текстового файла (указанного в качестве аргумента командной строки), а затем отправлять данные по каналу другому процессу, который обрабатывает сжатие и запись в файл назначения.Протестировав версию этой программы, не относящуюся к каналу, я вполне уверен, что компрессионная система работает как задумано, но я думаю, что моя проблема заключается в совместном использовании данных канала.Я не думаю, что что-то проходит, основываясь на любительской отладке.
Программа также преждевременно завершает работу со следующей строкой:
Ошибка сегментации (ядро сброшено)
А вот и сам код:
(redacted)
Может кто-нибудь выяснить, в чем может быть проблема?Я был бы невероятно благодарен.