Проблема в том, что при проверке через обычный if и else выдаётся "Не удалось открыть файл". То есть всё равно передаётся NULL.
Так я изменил функцию Add chanel:
{
FILE* f = fopen(path, "ab+");
if ((f = fopen(path, "ab+");
{
printf ("Не удалось открыть файл");
}
else
{fwrite(&channel, sizeof(TV_channels), 1, f);
fclose(f);
cout << "Succesfull adding new channel!" << endl;
}
}
Поэтому проверка, конечно, устраняет появление ошибки, однако никак не решает проблему с вводом данных файл. Просто теперь программа перезапускается после неудачной попытки открытия.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Так я изменил функцию Add chanel:
{
FILE* f = fopen(path, "ab+");
if ((f = fopen(path, "ab+");
{
printf ("Не удалось открыть файл");
}
else
{fwrite(&channel, sizeof(TV_channels), 1, f);
fclose(f);
cout << "Succesfull adding new channel!" << endl;
}
}
Поэтому проверка, конечно, устраняет появление ошибки, однако никак не решает проблему с вводом данных файл. Просто теперь программа перезапускается после неудачной попытки открытия.