Как можно хранить данные вне программы в C++ кроме текстовых и бинарных файлов?
Вообще в компьютерах все хранится в бинарном виде вне зависимости от того текстовый это файл или еще какой-то. Любые данные в конечном итоге приходят к бинарному виду.
К примеру: JSON,XML это текстовый файл определённого формата, а тектовый файл это и есть бинарные данные определённого формата.
С БД посложнее. СУБД предоставляет хорошие инструменты для хранения, поиска, изменения данных но каждая БД хранит данные по разному но все эти данные приходят к бинарным.
Если хотите хранить не в бинарном виде, то только "в уме". А так, хранить можно и в файле без расширения. Расширение - это просто особая запись, которая идет после точки и обычно состоит из 3-х символов, например: .zip, .rar, .png, .txt, .bin
и.т.д.
Расширения может и не быть. Расширение нужно для того, чтобы можно было более точно определить какой программой может быть распознан данный файл. Например Unix системы могут определить тип файла без расширения. Когда вы открываете картинку, то благодаря ее расширению ОС определяет стандартное средство просмотра фото и запускает его, передав в него файл (картинку) по которой вы кликнули 2 раза.
Если вы говорите о каких-либо конфигурационных файлах и/или данных, которые вы хотите хранить на диске и в ходе выполнения программы вам нужно будет получать конкретные их части, то наиболее подходящими будут формат JSON
, XML
, либо можете использовать LUA
, который отлично встраивается в C++
.
Глобально - все, что хранится между запусками программы, хранится в конце концов как файл. Если что-то прятать в реестр - это все равно прятать в файл (реестра).
Есть небольшая программа, я использовал только стандартную библиотеку, но она по разному работает под linux и windows
Почему появляется эта ошибка? Когда я не использую !file2eof, ошибка не возникает