用于MS-DOS的C语言数据库?

时间:2013-11-27 19:02:39

标签: c dos

要求: 我有一个CSV文件,最多可包含2000条或更少的记录。 这里每条记录意味着一行。 每行包括设备ID和消费者名称以及地址和设备制造。 每当列表中的任何消费者得到服务时,我都需要更新服务的时间戳。

这些要求将以MS-DOS的ANSI C语言实现,而开发的IDE则是Borland C 3.1。

更新

  1. 我无法更改平台或ide,因为这些要求被添加到与Borland c 3.1 ide相关的现有代码中。

  2. 我不应该使用任何商业产品。

  3. 两个或三个搜索键。

  4. 我终端设备的4.CPU规格是

    处理器:Intel 80C386 EX

    操作系统:/ BIOS MS-DOS 6.22 / SANDS BIOS

    内存:3.5 MB SRAM(最高16.5 MB)

2 个答案:

答案 0 :(得分:1)

快速搜索似乎表明SQLite将在MS-DOS上作为库工作。 Check out this link

答案 1 :(得分:1)

您不需要数据库来处理包含四个字段的2000条记录。即使在具有640K内存的8088 PC上,也可以通过C程序在内存中处理这些数据。就此而言,应该能够轻松地将这些数据加载到任何体面的DOS文本编辑器,如Qedit。

只需为记录分配一些struct。一个包含这些记录的大约2000个指针的数组可以sqort来创建一个可以bsearch编辑的排序索引。您可以使用多个此类数组在不同的字段上创建排序索引。

或者实现一些简单的散列。

但即使是通过不到2000条记录的线性搜索也可能没问题。

您是否知道8位微型计算机上的一些BASIC解释器使用链接列表线性搜索程序代码来实现GOTO?正向GOTO(到大于当前行的行号)将从当前行扫描;向后goto将从程序的开头开始搜索。然而,数千行的节目运行良好。

选择“大”或“巨大”的记忆模型;数据不会全部适合64 kB段。