📄 07.html
字号:
<td>
<div align="left"><font face='宋体' size='2'> 返回group结构数据,如果返回NULL则表示已无数据,或有错误发生。<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 附加说明 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> getgrent()在第一次调用时会打开组文件,读取数据完毕后可使用endgrent()来关闭该组文件。<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 错误代码 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> ENOMEM 内存不足,无法配置group结构。<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 范例 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> #include<grp.h><br>
#include<sys/types.h><br>
main()<br>
{<br>
struct group *data;<br>
int i;<br>
while((data= getgrent())!=0){<br>
i=0;<br>
printf(“%s:%s:%d:”,data->gr_name,data->gr_passwd,data->gr_gid);<br>
while(data->gr_mem[i])printf(“%s,”,data->gr_mem[i++]);<br>
printf(“\n”);<br>
}<br>
endgrent();<br>
}<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 执行 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> root:x:0:root,<br>
bin:x:1:root,bin,daemon,<br>
daemon:x:2:root,bin,daemon,<br>
sys:x:3:root,bin,adm,<br>
adm:x:4:root,adm,daemon<br>
tty:x:5<br>
disk:x:6:root<br>
lp:x:7:daemon,lp<br>
mem:x:8<br>
kmem:x:9:<br>
wheel:x:10:root<br>
mail:x:12:mail<br>
news:x:13:news<br>
uucp:x:14:uucp<br>
man:x:15:<br>
games:x:20<br>
gopher:x:30<br>
dip:x:40<br>
ftp:x:50<br>
nobody:x:99<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><br>
<font face='宋体' size='2'><a name=linuxc99></a></font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> <br>
</font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> <br>
getgrgid(从组文件中取得指定gid 的数据) </font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 相关函数 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> fgetgrent,getgrent,getgrnam<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 表头文件 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> #include<grp.h><br>
#include<sys/types.h><br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 定义函数 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> strcut group * getgrgid(gid_t
gid);<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 函数说明 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> getgrgid()用来依参数gid指定的组识别码逐一搜索组文件,找到时便将该组的数据以group结构返回。group结构请参考getgrent()。<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 返回值 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> 返回group结构数据,如果返回NULL则表示已无数据,或有错误发生。<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 范例 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> /* 取得gid=3的组数据*/<br>
#include<grp.h><br>
#include<sys/types.h><br>
main()<br>
{<br>
strcut group *data;<br>
int i=0;<br>
data = getgrgid(3);<br>
printf(“%s:%s:%d:”,data->gr_name,data->gr_passwd,data->gr_gid);<br>
while(data->gr_mem[i])printf(“%s ,”,data->mem[i++]);<br>
printf(“\n”);<br>
}<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 执行 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> sys:x:3:root,bin,adm<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><br>
<font face='宋体' size='2'><a name=linuxc100></a></font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> <br>
</font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> <br>
getgrnam(从组文件中取得指定组的数据) </font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 相关函数 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> fgetgrent,getrent,getgruid<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 表头文件 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> #include<grp.h><br>
#include<sys/types.h><br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 定义函数 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> strcut group * getgrnam(const
char * name);<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 函数说明 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> getgrnam()用来逐一搜索参数那么指定的组名称,找到时便将该组的数据以group结构返回。group
结构请参考getgrent()。<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 返回值 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> 返回group结构数据,如果返回NULL则表示已无数据,或有错误发生。<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 范例 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> /* 取得adm的组数据*/<br>
#include<grp.h><br>
#include<sys/types.h><br>
main()<br>
{<br>
strcut group * data;<br>
int i=0;<br>
data = getgrnam(“adm”);<br>
printf(“%s:%s:%d:”,data->gr_name,data->gr_passwd,data->gr_gid);<br>
while(data->gr_mem[i])printf(“%s,”,data->gr_mem[i++]);<br>
printf(“\n”);<br>
}<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 执行 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> adm:x:4:root,adm,daemon<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><br>
<font face='宋体' size='2'><a name=linuxc101></a></font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> <br>
</font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> <br>
getgroups(取得组代码) </font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 相关函数 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> initgroups,setgroup,getgid,setgid<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 表头文件 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> #include<unistd.h><br>
#include<sys/types.h><br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 定义函数 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> int getgroups(int size,gid_t
list[]);<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 函数说明 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> getgroup()用来取得目前用户所属的组代码。参数size为list〔〕所能容纳的gid_t
数目。如果参数size 值为零,此函数仅会返回用户所属的组数。<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 返回值 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> 返回组识别码,如有错误则返回-1。<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 错误代码 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> EFAULT 参数list数组地址不合法。EINVAL
参数size值不足以容纳所有的组。<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 范例 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> #include<unistd.h><br>
#include<sys/types.h><br>
main()<br>
{<br>
gid_t list[500];<br>
int x,i;<br>
x = getgroups(0.list);<br>
getgroups(x,list);<br>
for(i=0;i<x;i++)<br>
printf(“%d:%d\n”,i,list[i]);<br>
}<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 执行 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> 0:00<br>
1:01<br>
2:02<br>
3:03<br>
4:04<br>
5:06<br>
6:10<br>
</font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><br>
<font face='宋体' size='2'><a name=linuxc102></a></font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> <br>
</font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> <br>
getpw(取得指定用户的密码文件数据) </font> </div>
</td>
</tr>
<tr>
<td valign="top" width="80">
<div align="right"><font face='宋体' size='2'> 相关函数 </font> </div>
</td>
<td>
<div align="left"><font face='宋体' size='2'> getpwent<br>
</font> </div>
</td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -