詳解C說話中的getgrgid()函數和getgrnam()函數。本站提示廣大學習愛好者:(詳解C說話中的getgrgid()函數和getgrnam()函數)文章只能為提供參考,不一定能成為您想要的結果。以下是詳解C說話中的getgrgid()函數和getgrnam()函數正文
C說話getgrgid()函數:從組文件中獲得指定gid的數據
頭文件:
#include <grp.h> #include <sys/types.h>
界說函數:
strcut group * getgrgid(gid_t gid);
函數解釋:getgrgid()用來依參數gid 指定的組辨認碼一一搜刮組文件, 找到時便將該組的數據以group 構造前往. 前往值:前往 group 構造數據, 假如前往NULL 則表現已有數據, 或有毛病產生.
典范
/* 獲得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"); }
履行:
sys:x:3:root, bin, adm
C說話getgrnam()函數:從組文件中獲得指定組的數據
頭文件:
#include <grp.h> #include <sys/types.h>
界說函數:
strcut group * getgrnam(const char * name);
函數解釋:getgrnam()用來一一搜刮參數那末指定的組稱號, 找到時便將該組的數據以group 構造前往。group構造請參考getgrent()。
前往值:前往 group 構造數據, 假如前往NULL 則表現已有數據, 或有毛病產生.
典范
/* 獲得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"); }
履行:
adm:x:4:root, adm, daemon