Я программирую (и действительно близок к завершению) программу CLI, чтобы проверить пользователя на словарный запас или любой другой набор вопросов и ответов, которые он / она хотел бы определить.
Полный исходный код на github: https://github.com/megamasha/Vocab-Tester
Загрузка из файла и сохранение в файл обрабатываются из отдельных функций, оба вне main ().На данный момент они находятся в одном исходном файле, но я хотел бы знать, как это сделать а) внутри файла и б) в случае, если они окажутся в отдельном файле базы данных.
Я хочу разрешить пользователю сохранять в файл, который он загрузил последним, поэтому я хочу, чтобы моя функция loaddatabase()
определяла глобальный символ * для имени файла, к которому затем может обращаться функция savedatabase()
.
Если я объявляю char * вне какой-либо функции, он доступен только для чтения, и попытка записать в него имя файла вызывает ошибку segfault.Если я объявлю это в функции loaddatabase()
, savedatabase()
не сможет получить к ней доступ.
Будет ли объявление статической переменной разрешать доступ к ней другим функциям, или, если нет, как я могу разрешить доступ двум функциямтот же символ *?