C语言getgrgid()函数:从组文件中取得指定gid的数据
头文件:
#include <grp.h> #include <sys/types.h>
定义函数:
strcut group * getgrgid(gid_t gid);
函数说明:getgrgid()用来依参数gid 指定的组识别码逐一搜索组文件, 找到时便将该组的数据以group 结构返回. 返回值:返回 group 结构数据, 如果返回NULL 则表示已无数据, 或有错误发生.
范例
/* 取得gid=3 的组数据 */ #include <grp.h> #include <sys/types.h> main() { strcut group *data; int i = 0; data = getgrgid(3); printf("%s:%s:%d:", data->gr_name, data->gr_passwd, data->gr_gid); while(data->gr_mem[i]) printf("%s, ", data->mem[i++]); printf("\n"); }
执行:
sys:x:3:root, bin, adm
C语言getgrnam()函数:从组文件中取得指定组的数据
头文件:
#include <grp.h> #include <sys/types.h>
定义函数:
strcut group * getgrnam(const char * name);
函数说明:getgrnam()用来逐一搜索参数那么指定的组名称, 找到时便将该组的数据以group 结构返回。group结构请参考getgrent()。
返回值:返回 group 结构数据, 如果返回NULL 则表示已无数据, 或有错误发生.
范例
/* 取得adm 的组数据 */ #include <grp.h> #include <sys/types.h> main() { strcut group * data; int i = 0; data = getgrnam("adm"); printf("%s:%s:%d:", data->gr_name, data->gr_passwd, data->gr_gid); while(data->gr_mem[i]) printf("%s, ", data->gr_mem[i++]); printf("\n"); }
执行:
adm:x:4:root, adm, daemon