2013-06-03 2 views
0

Я создаю программу, которая эмулирует банкомат, поэтому я хочу сохранить данные учетной записи в TXT-файле, а затем, если пользователь хочет увидеть баланс своей учетной записи, найдите баланс, связанный с его номером счета.База данных в формате .txt?

Для этого я решил хранить всю информацию одного пользователя в одной строке и затем искать конкретные биты строки.

Скажем, формат будет:

  1. accountnumber1 & Password1 & Balance1/
  2. accountnumber2 & password2 & Balance2/
  3. accountnumber3 & Password3 & Balance3/

Я думал, чтобы подсчитать количество конце строк, чтобы знать, какой пользователь я работаю, например,

Если accountnumber3 (расположен после двух \ п) хочет знать свой баланс, я бы получить строка между & .../находится в строке, которая приходит после двух \ п

Мои сомнения/вопросы:

  • есть ли более простой способ сделать это?
  • Как искать каждую строку (я думал о strstr(), но я не знаю, как правильно использовать ее с таким файлом).
  • Как подсчитать число \ n, а затем использовать это как ссылку на поиск в строке.
+0

Если вы хотите сохранить данные в файле, сохраните их в базе данных SQLite. – Blender

+0

На каком языке вы программируете? Вы можете сделать это в сценариях bash довольно легко, но тогда это зависит от вас, используя bash. – CaffeineConnoisseur

ответ

1

Я считаю, что вам необходимо оптимизировать формат базы данных вашего txt-файла. Моя рекомендация - создать файл свойств, который будет хранить информацию как пары ключей. Вы можете использовать номер учетной записи в качестве ключа и остальной информации в качестве пары для нее. Например:

accountnumber1 = Password1 & Balance1/

accountnumber2 = password2 & Balance2/

accountnumber3 = Password3 & Balance3/

Используя этот appraoch, ваш поиск будет быстрым , И вам просто нужно разделить полученные значения, чтобы получить фрагменты информации.

Хотя я использовал файл свойств в Java, но я никогда не делал этого в C. Поэтому я искал googled, чтобы проверить, возможно ли это сделать.И вот результаты:

В этом случае Google дает (первые 4 хиты для библиотеки C в конфигурационном файле):

http://www.hyperrealm.com/libconfig/

http://rudeserver.com/config/

http://freshmeat.net/projects/cfl/

http://liblcfg.carnivore.it/

Надеюсь, поможет!

+0

У меня были проблемы при установке библиотеки libconfig, поэтому я попытался использовать SQLite, но для меня это было излишним, я закончил гораздо более простую версию, спасибо вам. libconfig это довольно просто, но функции слишком длинны. Я не пробовал других. –

Смежные вопросы