系统数据文件和信息之其他数据文件

在日常操作中,UNIX系统还使用很多其他文件。例如,BSD网络软件有一个记录各网络服务器所提供服务的数据文件(/etc/services),有一个记录协议信息的数据文件(/etc/protocols),还有一个则是记录网络信息的数据文件(/etc/networks)。

一般情况下,对于每个数据文件至少有三个函数:

(1)get函数:读下一个记录,如果需要,还可以打开该文件。这些函数通常返回指向一个结构的指针。当已到达文件尾端时则返回空指针。大多数get函数返回指向一个静态结构的指针,如果要保存其内容,则需要复制它。

(2)set函数:打开相应数据文件(如果尚未打开),然后反绕(rewinds  to  the  beginning )该文件。如果希望在相应文件起始处开始处理,则调用此函数。

(3)end函数:关闭相应数据文件。在结束了对相应数据文件的读、写操作后,总应调用此函数以关闭所有相关文件。

另外,如果数据文件支持某种形式的关键字搜索,则会提供搜索具有指定关键字记录的例程。例如,对于口令文件,提供了两个按关键字进行搜索的程序:getpwnam寻找具有指定用户名的记录;getpwuid寻找具有指定用户ID的记录。

表6-5中列出了一些这样的例程,这些都是UNIX系统常用的。对于表6-5中列出的所有数据文件都有get、set和end函数。

系统数据文件和信息之其他数据文件_第1张图片

 

本篇博文内容摘自《UNIX环境高级编程》(第二版),仅作个人学习记录所用。关于本书可参考:http://www.apuebook.com/

你可能感兴趣的:(数据文件)