getgroups
getgroups(取得一组组识别码)
相关函数:initgroups,setgroups,getgid
表头文件:#include <unistd.h> #include <sys/types.h>
定义函数:int getgroups(int size, gid_t list[]);
函数说明:getgroups()用来将目前进程所属用户的组识别码列表放到参数list所指向的内存空间中。参数size代表list数组的最大容量。如果size为0,则getgroups()仅返回用户所属的组识别码总数。
返回值:如果成功则返回组识别码总数,如果出错则返回-1。
错误代码:EFAULT:参数list的地址无效。
范例:
/* 显示进程所属用户的组识别码 */
#include <unistd.h>
#include <sys/types.h>
#include <stdio.h>
main()
{
gid_t list[100];
int i;
int num = getgroups(100, list);
for (i = 0; i < num; i++) printf("%d\n", list[i]);
}
执行: 0 1 2 3 4 5 6 7 8 9 …….