zoukankan      html  css  js  c++  java
  • 6.7 其它数据文件

    6.7 其它数据文件

    至此我们讨论了两个系统数据文件-口令字文件和组文件。在日常事务操作中,Unix系统还使用很多其它文件。例如,BSD网络软件有一个记录各网络服务器所提供的服务的数据文件(/etc/services),有一个记录协议信息是数据文件(/etc/protocols),还有一个则是记录网络信息的数据文件(/etc.networks)。幸运的是,对于这些数据文件的界面都与上述对口令字文件和组文件的相似。

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

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

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

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

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

    存取系统数据文件的一些例程

    说明

    数据文件

    头文件

    结构

    附加的关键字搜索函数

    口令

    / e t c / p a s s w d

    < p w d . h >

    p a s s w d

    g e t p w n a m , g e t p w u i d

    / e t c / g r o u p

    < g r p . h >

    g r o u p

    g e t g r n a m , g e t g r g i d

    主机

    / e t c / h o s t s

    < n e t d b . h >

    h o s t e n t

    g e t h o s t b y n a m e , g e t h o s t b y a d d r

    网络

    / e t c / n e t w o r k s

    < n e t d b . h >

    n e t e n t

    g e t n e t b y n a m e , g e t n e t b y a d d r

    协议

    / e t c / p r o t o c o l s

    < n e t d b . h >

    p r o t o e n t

    g e t p r o t o b y n a m e , g e t p r o t o b y n u m b e r

    服务

    / e t c / s e r v i c e s

    < n e t d b . h >

    s e r v e n t

    getservbyname, getservbyport

  • 相关阅读:
    springmvc常用注解之@Controller和@RequestMapping
    解决nginx负载均衡的session共享问题
    iOS顶部滑动菜单:FDSlideBar 与NinaPagerView
    C#中使用WeiFenLuo.WinFormsUI.Docking.dll实现窗口停靠效果
    [转]C#使用Log4Net记录日志
    ICSharpCode.SharpZipLib 开源压缩库使用示例
    WorldWind源码剖析系列:日志类Log
    [转]反射基础
    WorldWind源码剖析系列:星球球体的加载与渲染
    Vue 前端路由 vue-router
  • 原文地址:https://www.cnblogs.com/shaoguangleo/p/2805996.html
Copyright © 2011-2022 走看看