0

我正在制作一个模拟 ATM 的程序,所以我想将帐户数据保存在 .txt 文件中,然后如果用户想查看他的帐户余额,请搜索与他的帐号关联的余额。

为了实现这一点,我想将一个用户的所有信息存储在一行中,然后搜索字符串的特定位。

假设格式为:

  1. 账号1&密码1&余额1/
  2. 账号2&密码2&余额2/
  3. 账号3&密码3&余额3/

例如,我正在考虑计算行尾数以了解我正在工作的用户,

如果 accountnumber3(位于两个 \n 之后)想知道他的余额,我会得到 &.../ 之间的字符串,位于两个 \n 之后的字符串中

我的疑问/问题是:

  • 有没有更简单的方法来做到这一点?
  • 如何搜索每个字符串(我在想 strstr() 但我不知道如何将它与这样的文件正确使用)。
  • 如何计算 \n 的数量,然后将其用作在字符串中搜索的参考。
4

1 回答 1

1

我相信你需要优化你的txt文件数据库的格式。我的建议是创建一个属性文件,它将信息存储为密钥对。您可以使用帐号作为密钥,其余信息作为它的对。例如:

accountnumber1=密码1&余额1/

accountnumber2=密码2&余额2/

accountnumber3=密码3&余额3/

使用这种方法,您的检索将很快。您只需拆分检索到的值即可获取信息片段。

虽然我在 Java 中方便地使用了属性文件,但我从未在 C 中这样做过。因此我用谷歌搜索检查是否可以这样做。结果如下:

在这种情况下,谷歌给出(C 配置文件库的前 4 个命中):

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

http://rudeserver.com/config/

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

http://liblcfg.carnivore.it/

希望能帮助到你!

于 2013-06-03T00:37:15.623 回答