通信人家园

标题: 跪求 哪位高手的帮忙  [查看完整版帖子] [打印本页]

时间:  2007-6-27 17:46
作者: LY7029     标题: 跪求 哪位高手的帮忙

<p>各位大哥大姐们,小弟平时学业不精,现有一课题设计求助啊</p><p>用C语言做一个程序设计</p><p>题目:</p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 20pt; mso-line-height-rule: exactly;"><b><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体;">会议人员信息管理系统:</span></b><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体;"><br/>&nbsp;&nbsp;&nbsp;<p></p></span></p><p></p><p></p><p></p><p></p><p></p><p></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; LINE-HEIGHT: 20pt; mso-line-height-rule: exactly; mso-char-indent-count: 2.0;"><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体;">(<span lang="EN-US">1</span>)基本要求与内容:<span lang="EN-US">a.</span>使用汉字菜单;<span lang="EN-US">b.</span>具有建立数据库功能;<span lang="EN-US">c.</span>具有数据输入功能;<span lang="EN-US">d.</span>具有数据删除功能;<span lang="EN-US">e.</span>具有各种查询(如按编号、姓名查询等)及输出功能;<span lang="EN-US">f.</span>其它功能;<span lang="EN-US"><br/>&nbsp;&nbsp;&nbsp;&nbsp;<p></p></span></span></p><p></p><p></p><p></p><p></p><p></p><p></p><p><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"><span style="mso-spacerun: yes;">&nbsp;&nbsp;&nbsp; </span></span><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">(<span lang="EN-US">2</span>)描述及绘制出系统功能结构框图</span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">时间紧迫啊,望哪位高手看过后,帮我做一下</span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p>
[此贴子已经被作者于2007-8-7 14:11:59编辑过]


时间:  2007-6-28 10:16
作者: sbjepfi

让别人给你弄这个,不大可能吧。
时间:  2007-6-28 15:55
作者: vxin_yf

<p>顶</p>
时间:  2007-6-28 22:09
作者: LY7029     标题: [原创]

<p>小弟也是没办法了,我知道这个课题很复杂,不过我水平实在有限,而且老师也催得上交急,哪位高手就出手帮我一下吧!</p><p>现在是整天急得睡不着觉啊!</p>
时间:  2007-6-30 12:18
作者: LY7029

<p>看了至少给点提示咯!</p><p>指点一下总可以吧!</p>
时间:  2007-6-30 19:06
作者: qqqq

C是要用TC么?那有点虐对于学生来说。
时间:  2007-6-30 19:06
作者: qqqq

<p>/* DBF.c<br/>&nbsp;*<br/>&nbsp;* DBF.Com -- dBASE III / FoxBASE+&nbsp; Database structure lister<br/>&nbsp;*<br/>&nbsp;* Copyright (c) 1988, by Matrix Software Systems<br/>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; All rights reserved<br/>&nbsp;*<br/>&nbsp;* This program will list the structure of any dBASE III /FoxBASE +<br/>&nbsp;* database file in a format similar to "List Structure." It is similar<br/>&nbsp;* to another PD program (ListStru.COM) except that this version handles<br/>&nbsp;* wildcards, comes complete with source code (for use with Turbo C),<br/>&nbsp;* and is about one-half the size.<br/>&nbsp;*<br/>&nbsp;*<br/>&nbsp;* This program is provided on an "as-is" basis.&nbsp; No warranty, expressed<br/>&nbsp;* or implied, covers this program.&nbsp; Matrix Software Systems disclaims<br/>&nbsp;* all conditions and warranties, whether express or implied with regard<br/>&nbsp;* to this program, including all implied conditions or warranties of<br/>&nbsp;* merchantibility and fitness for a particular purpose.<br/>&nbsp;*<br/>&nbsp;* This program is NOT public domain.&nbsp; It may be freely distributed as<br/>&nbsp;* long as the following conditions are met:<br/>&nbsp;*<br/>&nbsp;*&nbsp; 1.&nbsp; Any and all copies must include the above copyright notice.<br/>&nbsp;*&nbsp; 2.&nbsp; The software must be distributed in its original ARC format<br/>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; which contains the files DBF.COM, DBF.C, and READ.ME.<br/>&nbsp;*&nbsp; 3.&nbsp; No fee may be charged for any copy, aside from a possible small<br/>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; duplication and handling fee.&nbsp; (I sincerely doubt you could sell<br/>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this if you wanted to...)<br/>&nbsp;*<br/>&nbsp;*<br/>&nbsp;* To compile the source code, you will need Turbo C (V1.0).<br/>&nbsp;*<br/>&nbsp;*&nbsp;&nbsp;&nbsp; tcc -Ic:\tc\include -Lc:\tc\lib -K -O -Z -d -f- -mt dbf.c<br/>&nbsp;*&nbsp;&nbsp;&nbsp; exe2bin dbf.exe dbf.com<br/>&nbsp;*<br/>&nbsp;*/</p><p>#include &lt;stdio.h&gt;<br/>#include &lt;fcntl.h&gt;<br/>#include &lt;io.h&gt;<br/>#include &lt;errno.h&gt;<br/>#include &lt;dir.h&gt;<br/>#include &lt;string.h&gt;</p><p><br/>/* A few typedefs from Amigaland.&nbsp; Makes porting code a hell of a lot easier */<br/>#define VOID&nbsp;&nbsp; void<br/>typedef unsigned char UBYTE;<br/>typedef unsigned short UWORD;<br/>typedef unsigned long ULONG;<br/>typedef char BYTE;<br/>typedef short WORD;<br/>typedef char *STRPTR;</p><p><br/>STRPTR usagemessage[] = {<br/>&nbsp;&nbsp; "DBF.Com -- Copyright (c) 1988, by Matrix Software Systems",<br/>&nbsp;&nbsp; "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- All Rights Reserved --",<br/>&nbsp;&nbsp; " ",<br/>&nbsp;&nbsp; "List dBASE III / FoxBASE+ database file structures",<br/>&nbsp;&nbsp; "Usage:&nbsp; DBF &lt;filename.ext&gt; [&lt;filename.ext&gt;...]",<br/>&nbsp;&nbsp; "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filenames may include path and/or wildcards (* and ?)",<br/>&nbsp;&nbsp; "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If no extension is specified, '.DBF' is assumed.",<br/>&nbsp;&nbsp; " ",<br/>&nbsp;&nbsp; "lease send comments/requests to the following locations:",<br/>&nbsp;&nbsp; "&nbsp; CompuServe:&nbsp; 75126,2223",<br/>&nbsp;&nbsp; "&nbsp; BIX:&nbsp; dlove",<br/>&nbsp;&nbsp; ""<br/>};<br/>&nbsp;<br/>/* dBASE III database header size and offset information */<br/>#define SIZEOF_DBF_HEADER&nbsp; 32<br/>#define HOFF_VERSION&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br/>#define HOFF_UPDATE_DAY&nbsp;&nbsp;&nbsp; 3<br/>#define HOFF_UPDATE_MONTH&nbsp; 2<br/>#define HOFF_UPDATE_YEAR&nbsp;&nbsp; 1<br/>#define HOFF_RECORDS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4<br/>#define HOFF_HEADER_SIZE&nbsp;&nbsp; 8<br/>#define HOFF_RECORD_SIZE&nbsp;&nbsp; 10</p><p>#define hdr_version(x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ( (WORD)*(x) )<br/>#define hdr_update_day(x)&nbsp;&nbsp;&nbsp;&nbsp; ( (WORD)*(x+HOFF_UPDATE_DAY) )<br/>#define hdr_update_month(x)&nbsp;&nbsp; ( (WORD)*(x+HOFF_UPDATE_MONTH) )<br/>#define hdr_update_year(x)&nbsp;&nbsp;&nbsp; ( (WORD)*(x+HOFF_UPDATE_YEAR)+1900)<br/>#define hdr_records(x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (*((ULONG *)(x+HOFF_RECORDS)))<br/>#define hdr_size(x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (*((UWORD *)(x+HOFF_HEADER_SIZE)))<br/>#define hdr_rsize(x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (*((UWORD *)(x+HOFF_RECORD_SIZE)))<br/>#define num_fields(x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((hdr_size(x)-32)&gt;&gt;5)</p><p><br/>/* dBASE field header size and offset information */<br/>#define SIZEOF_DBF_FIELD&nbsp;&nbsp; 32<br/>#define FOFF_TYPE&nbsp;&nbsp;&nbsp; 11<br/>#define FOFF_LENGTH&nbsp; 16<br/>#define FOFF_DECIMAL 17</p><p>#define fld_name(x)&nbsp;&nbsp;&nbsp;&nbsp; (x)<br/>#define fld_type(x)&nbsp;&nbsp;&nbsp;&nbsp; (x[FOFF_TYPE])<br/>#define fld_length(x)&nbsp;&nbsp; ((UWORD)x[FOFF_LENGTH])<br/>#define fld_decimal(x)&nbsp; ((UWORD)x[FOFF_DECIMAL])</p><p></p><p><br/>/* Prototypes */<br/>WORD main(int, char**);<br/>STRPTR fixname(STRPTR,struct ffblk *);<br/>WORD liststru(STRPTR);<br/>VOID usage(void);</p><p><br/>WORD<br/>main(argc,argv)<br/>WORD argc;<br/>char *argv[];<br/>{<br/>&nbsp;&nbsp; static char filename[256];<br/>&nbsp;&nbsp; static struct ffblk ffblk;<br/>&nbsp;&nbsp; register STRPTR st;<br/>&nbsp;<br/>&nbsp;&nbsp; if (argc &lt; 2) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* Show usage if no argument given */<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; usage();<br/>&nbsp;&nbsp; } else {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while(--argc) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strcpy(filename,*(++argv));<br/>&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* Assume the extension .dbf unless otherwise specified */<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (st = filename; *st != '\0' &amp;&amp; *st != '.'; st++);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (*st == '\0')<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strcpy(st,".dbf");</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* Now check for a matching file.&nbsp; If no match is found, assume<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * the argument is a directory name, append "<a href="file://\\*.dbf">\\*.dbf</a>" and attempt<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * to match a file there.&nbsp; If there are still no matches found,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * print a warning message and skip to the next arg.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (findfirst(filename,&amp;ffblk,0)) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sprintf(filename,"%s%s",*argv,"<a href="file://\\*.dbf">\\*.dbf</a>");<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (findfirst(filename,&amp;ffblk,0)) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Could not locate %s.",*argv);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; continue;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* If we get here, findfirst() found a matching file.&nbsp; So fix the<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * filename to eliminate any wildcards and attempt to process it.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * Loop until all matches have been handled.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; do {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; liststru(fixname(filename,&amp;ffblk));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } while (!findnext(&amp;ffblk));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp; }<br/>}</p><p><br/>STRPTR<br/>fixname(filename,ffblk)<br/>STRPTR filename;<br/>struct ffblk *ffblk;<br/>{<br/>&nbsp;&nbsp; static char drive[MAXDRIVE];<br/>&nbsp;&nbsp; static char dir[MAXDIR];<br/>&nbsp;&nbsp; static char file[MAXFILE];<br/>&nbsp;&nbsp; static char ext[MAXEXT];</p><p>&nbsp;&nbsp; /* Tear the filename apart to get the drive and directory */<br/>&nbsp;&nbsp; fnsplit(filename,drive,dir,file,ext);<br/>&nbsp;<br/>&nbsp;&nbsp; /* Then reassemble it with the correct filename */<br/>&nbsp;&nbsp; sprintf(filename,"%s%s%s",drive,dir,ffblk-&gt;ff_name);<br/>&nbsp;<br/>&nbsp;&nbsp; /* For convenience, return a pointer to the fixed filename */<br/>&nbsp;&nbsp; return(filename);<br/>}</p><p><br/>WORD<br/>liststru(filename)<br/>STRPTR filename;<br/>{<br/>&nbsp;&nbsp; static char header[SIZEOF_DBF_HEADER];<br/>&nbsp;&nbsp; static char field[SIZEOF_DBF_FIELD];<br/>&nbsp;&nbsp; register int fp;<br/>&nbsp;&nbsp; register int size,i;<br/>&nbsp;&nbsp; register STRPTR format,type;<br/>&nbsp;<br/>&nbsp;&nbsp; printf("Structure for database : %s\n",filename);</p><p>&nbsp;&nbsp; /* Attempt to open the file (Note that O_BINARY MUST be present!) */<br/>&nbsp;&nbsp; fp = open(filename,O_RDONLY|O_BINARY|O_DENYNONE);<br/>&nbsp;&nbsp; if (fp) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* Attempt to read the database header */<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; size = read(fp,&amp;header[0],SIZEOF_DBF_HEADER);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (size == SIZEOF_DBF_HEADER) {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* Got it, so print out the header information */<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* Uncomment the next line to check the dbf version #.&nbsp; For dBASE III<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and FoxBASE + files it will be 3 (or 83 if there is an associated<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .dbt file) */<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* printf("Version #%d\n",hdr_version(header)); */</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Number of data records : %10ld\n",hdr_records(header));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Date of last update&nbsp;&nbsp;&nbsp; : %02d-%02d-%4d\n",<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hdr_update_month(header),hdr_update_day(header),<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hdr_update_year(header));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Field&nbsp; Field name&nbsp; Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Width&nbsp;&nbsp;&nbsp; Dec\n");<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("-----&nbsp; ----------&nbsp; ----&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -----&nbsp;&nbsp;&nbsp; ---\n");<br/>&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* Finally, print out each field */<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (i = 1; i &lt;= num_fields(header); i++) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; size = read(fp,&amp;field[0],SIZEOF_DBF_FIELD);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (size == SIZEOF_DBF_FIELD) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; format = "%-9s&nbsp; %5d\n";<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("%5d&nbsp; %-10s&nbsp; ",i,fld_name(field));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; switch(fld_type(field)) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 'C':<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type = "Character";break;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 'D':<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type = "Date";break;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 'L':<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type = "Logical";break;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 'M':<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type = "Memo";break;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 'N':<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type = "Numeric";<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; format = "%-9s&nbsp; %5d&nbsp;&nbsp;&nbsp; %3d\n";break;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* Egads!&nbsp; A goto! */<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; goto error;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(format,type,fld_length(field),fld_decimal(field));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* Oh No!&nbsp; Another one! */<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; goto error;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* Finally, print out the total record size.&nbsp; Notice that this is one<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * byte larger than the sum of the individual field length printed<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * above.&nbsp; dBASE adds one byte to the beginning of every record<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * for internal use (deletion state).&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("** Total **&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %5d\n",hdr_rsize(header));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br/>error:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; puts("Database file corrupt!");<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; close(fp);<br/>&nbsp;&nbsp; } else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Couldn't open database : %s\n",filename);<br/>}</p><p><br/>void usage()<br/>{<br/>&nbsp;&nbsp; register STRPTR *st;<br/>&nbsp;&nbsp; for(st = usagemessage; **st; st++)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; puts(*st);<br/>}<br/></p>
时间:  2007-6-30 19:07
作者: qqqq

上面是<strong>使用TURBO C读数据库文件</strong>
时间:  2007-8-7 14:09
作者: LY7029

<p>看到你的回贴时已是我做完课程设计后很久了,虽然程序是通过老师这关了,不过那个设计有很多地方不完善,看了你的贴后又让我学到了新的方法。</p><p>很是感激啊!努力ing!</p>




通信人家园 (https://www.txrjy.com/) Powered by C114