详解C语言中的getgrgid()函数和getgrnam()函数
C语言getgrgid()函数:从组文件中取得指定gid的数据
头文件:
#include<grp.h>#include<sys/types.h>
定义函数:
strcutgroup*getgrgid(gid_tgid);
函数说明:getgrgid()用来依参数gid指定的组识别码逐一搜索组文件,找到时便将该组的数据以group结构返回.返回值:返回group结构数据,如果返回NULL则表示已无数据,或有错误发生.
范例
/*取得gid=3的组数据*/ #include<grp.h> #include<sys/types.h> main() { strcutgroup*data; inti=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>
定义函数:
strcutgroup*getgrnam(constchar*name);
函数说明:getgrnam()用来逐一搜索参数那么指定的组名称,找到时便将该组的数据以group结构返回。group结构请参考getgrent()。
返回值:返回group结构数据,如果返回NULL则表示已无数据,或有错误发生.
范例
/*取得adm的组数据*/ #include<grp.h> #include<sys/types.h> main() { strcutgroup*data; inti=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