詳解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