頭檔案
#include<grp.h>
#include <sys/types.h>
函式原型
struct group *getgrent(void);
函式說明
getgrent()用來從組檔案(/etc/group)中讀取一項組數據,該數據以group結構返回。第一次調用時會取得第一項組數據,之後每調用一次就會返回下一項數據,直到已無任何數據時返回NULL。
struct group{
char *gr_name; /*組名稱*/
char *gr_passwd; /* 組密碼*/
gid_t gr_gid; /*組識別碼*/
char **gr_mem; /*組成員賬號*/
}
返回group結構數據,如果返回NULL則表示已無數據,或有錯誤發生。getgrent()在第一次調用時會打開組檔案,讀取數據完畢後可使用endgrent()來關閉該組檔案。ENOMEM 記憶體不足,無法配置group結構。
範例
#include<grp.h>
#include<sys/types.h>
main()
{
struct group *data;
int i;
while((data= getgrent())!=0){
i=0;
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”);
}
endgrent();
}
