p5-16.c
来自「UNIX程序设计教程」· C语言 代码 · 共 31 行
C
31 行
#include <stdio.h>#include <unistd.h>#include <limits.h>#include <grp.h>main(){ int mem_grp, num_grp, i; int gidsetsize; gid_t *grouplist; struct group *groupinfo; char **ptr; /* 获得组成员个数并为附加组ID数组分配空间 */ num_grp = getgroups(0,grouplist); grouplist = (gid_t *)malloc((size_t)(sizeof(gid_t)*num_grp)); /* 获得附加组ID */ mem_grp = getgroups(num_grp, grouplist); printf("there are %d supplementary groups",mem_grp); /* 列出每个组的名字、组ID以及组成员名 */ for (i=0; i<mem_grp; i++) { groupinfo = getgrgid(grouplist[i]); printf("\ngroup name is: %s \n", groupinfo->gr_name); printf(" group id is: %d\n", groupinfo->gr_gid); printf("the members in this group are: "); ptr = groupinfo->gr_mem; while ( *ptr ) { printf("%s, ", *ptr++); } } printf("\nDone\n");}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?