C小程序 - 几个库函数

957阅读 0评论2012-10-22 niannian
分类:C/C++


  1. int utime(const char * filename,struct utimbuf * buf);
  2. utime()用来修改参数filename文件所属的inode存取时间。结构utimbuf定义如下:
  3.   struct utimbuf{
  4.   time_t actime;
  5.   time_t modtime;
  6.   };

  1. struct passwd *getpwnam(const char *name);
  2. 信息存贮在如下的结构体之中
  3.   struct passwd {
  4.   char * pw_name; /* Username. */
  5.   char * pw_passwd; /* Password. */
  6.   __uid_t pw_uid; /* User ID. */
  7.   __gid_t pw_gid; /* Group ID. */
  8.   char * pw_gecos; /* Real name. */
  9.   char * pw_dir; /* Home directory. -*/
  10.   char * pw_shell; /* Shell program. */
  11.   };

  1. int chown(const char * path, uid_t owner, gid_t group);
  2. chown()会将参数path 指定文件的所有者变更为参数owner 代表的用户,而将该文件的组变更为参数group 组。如果参数owner 或group 为-1,对应的所有者或组不会有所改变。root 与文件所有者皆可改变文件组,但所有者必须是参数group 组的成员。当root 用chown()改变文件所有者或组时,该文件若具有S_ISUID或S_ISGID 权限,则会清除此权限位,此外如果具有S_ISGID 权限但不具S_IXGRP 位,则该文件会被强制锁定,文件模式会保留。

  1. struct utmp *getutent(void);
  2. 函数说明:getutent()用来从utmp 文件(/var/run/utmp)中读取一项登录数据, 该数据以utmp 结构返回. 第一次调用时会取得第一位用户数据, 之后每调用一次就会返回下一项数据, 直到已无任何数据时返回NULL。

上一篇:C小程序 - 从用户名获得用户id
下一篇:C小程序 - mv rename link unlink