Скорее всего, один из ваших fopen
вызовов завершится неудачно и вернет NULL
. Наиболее вероятным кандидатом для этого является следующая строка:
FILE *fpin = fopen("in.txt", "r");
Вы, вероятно, намеревались использовать здесь "w"
, как позже попытаетесь записать в файл. Я предполагаю, что файл еще не существует ... и, следовательно, когда вы пытаетесь открыть его с помощью "r"
, вызов fopen
завершается неудачей.