C語言getgroups()函式:獲取組程式碼函式

2puT發表於2016-07-18
相關函式:initgroups, setgroup, getgid, setgid

標頭檔案:#include <unistd.h>    #include <sys/types.h>

定義函式:int getgroups(int size, gid_t list[]);

函式說明:getgroup() 用來取得目前使用者所屬的組程式碼. 引數size 為list() 所能容納的gid_t 數目. 如果引數size 值為零, 此函式僅會返回使用者所屬的組數。

返回值:返回組識別碼, 如有錯誤則返回-1.

錯誤程式碼:
EFAULT:引數list 陣列地址不合法.
EINVAL:引數size 值不足以容納所有的組.


範例
#include <unistd.h>
#include <sys/types.h>
main()
{
    gid_t list[500];
    int x, i;
    x = getgroups(0, list);
    getgroups(x, list);
    for(i = 0; i < x; i++)
        printf("%d:%d\n", i, list[i]);
}


執行:
0:00
1:01
2:02
3:03
4:04
5:06
6:10

相關文章