詳解C語(yǔ)言中的getgrgid()函數(shù)和getgrnam()函數(shù)
C語(yǔ)言getgrgid()函數(shù):從組文件中取得指定gid的數(shù)據(jù)
頭文件:
#include <grp.h> #include <sys/types.h>
定義函數(shù):
strcut group * getgrgid(gid_t gid);
函數(shù)說(shuō)明:getgrgid()用來(lái)依參數(shù)gid 指定的組識(shí)別碼逐一搜索組文件, 找到時(shí)便將該組的數(shù)據(jù)以group 結(jié)構(gòu)返回. 返回值:返回 group 結(jié)構(gòu)數(shù)據(jù), 如果返回NULL 則表示已無(wú)數(shù)據(jù), 或有錯(cuò)誤發(fā)生.
范例
/* 取得gid=3 的組數(shù)據(jù) */ #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"); }
執(zhí)行:
sys:x:3:root, bin, adm
C語(yǔ)言getgrnam()函數(shù):從組文件中取得指定組的數(shù)據(jù)
頭文件:
#include <grp.h> #include <sys/types.h>
定義函數(shù):
strcut group * getgrnam(const char * name);
函數(shù)說(shuō)明:getgrnam()用來(lái)逐一搜索參數(shù)那么指定的組名稱, 找到時(shí)便將該組的數(shù)據(jù)以group 結(jié)構(gòu)返回。group結(jié)構(gòu)請(qǐng)參考getgrent()。
返回值:返回 group 結(jié)構(gòu)數(shù)據(jù), 如果返回NULL 則表示已無(wú)數(shù)據(jù), 或有錯(cuò)誤發(fā)生.
范例
/* 取得adm 的組數(shù)據(jù) */ #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"); }
執(zhí)行:
adm:x:4:root, adm, daemon
相關(guān)文章
C\C++實(shí)現(xiàn)讀寫(xiě)二進(jìn)制文件的方法詳解
這篇文章主要為大家詳細(xì)介紹了C\C++實(shí)現(xiàn)讀寫(xiě)二進(jìn)制文件的方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解一下2023-03-03C++/Php/Python/Shell 程序按行讀取文件或者控制臺(tái)的實(shí)現(xiàn)
下面小編就為大家?guī)?lái)一篇C++/Php/Python/Shell 程序按行讀取文件或者控制臺(tái)的實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03C++學(xué)校運(yùn)動(dòng)會(huì)管理系統(tǒng)的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了C++如何實(shí)現(xiàn)學(xué)校運(yùn)動(dòng)會(huì)管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10一文帶你學(xué)會(huì)C語(yǔ)言中的qsort函數(shù)
qsort函數(shù)是C語(yǔ)言的庫(kù)函數(shù),能實(shí)現(xiàn)對(duì)各種元素類型的比較,使用的基本思想是快速排序法,頭文件是<stdlib.h>,本文不講解具體實(shí)現(xiàn)原理,只對(duì)使用方法進(jìn)行說(shuō)明,希望對(duì)大家有所幫助2022-12-12利用C語(yǔ)言實(shí)現(xiàn)http服務(wù)器(Linux)
本文將利用C語(yǔ)言實(shí)現(xiàn)一個(gè)輕量級(jí)的http服務(wù)器,使用Reactor模式,即主線程只負(fù)責(zé)監(jiān)聽(tīng)文件描述符上是否有事件發(fā)生,有的話立即將該事件通知工作線程,感興趣的可以了解一下2022-07-07C++編程中的數(shù)據(jù)類型和常量學(xué)習(xí)教程
這篇文章主要介紹了C++編程中的數(shù)據(jù)類型和常量學(xué)習(xí)教程,是C++入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-09-09C++如何實(shí)現(xiàn)BitMap數(shù)據(jù)結(jié)構(gòu)
這篇文章主要介紹了C++如何實(shí)現(xiàn)BitMap數(shù)據(jù)結(jié)構(gòu),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07