C语言getgrgid()函数:从组文件中取得指定gid的数据
头文件:
1
|
#include <grp.h> #include <sys/types.h> |
定义函数:
1
|
strcut group * getgrgid(gid_t gid); |
函数说明:getgrgid()用来依参数gid 指定的组识别码逐一搜索组文件, 找到时便将该组的数据以group 结构返回. 返回值:返回 group 结构数据, 如果返回NULL 则表示已无数据, 或有错误发生.
范例
1
2
3
4
5
6
7
8
9
10
11
12
13
|
/* 取得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" ); } |
执行:
1
|
sys:x:3:root, bin, adm |
C语言getgrnam()函数:从组文件中取得指定组的数据
头文件:
1
|
#include <grp.h> #include <sys/types.h> |
定义函数:
1
|
strcut group * getgrnam( const char * name); |
函数说明:getgrnam()用来逐一搜索参数那么指定的组名称, 找到时便将该组的数据以group 结构返回。group结构请参考getgrent()。
返回值:返回 group 结构数据, 如果返回NULL 则表示已无数据, 或有错误发生.
范例
1
2
3
4
5
6
7
8
9
10
11
12
13
|
/* 取得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" ); } |
执行:
1
|
adm:x:4:root, adm, daemon |