📄 07.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0051)http://net.pku.edu.cn/~yhf/linux_c/function/07.html -->
<HTML><HEAD><TITLE>Untitled Document</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
<BODY>
<TABLE width="100%">
<TBODY>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋体 size=2><A
name=linuxc90></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>endgrent(关闭组文件)
</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,setgrent<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>void
endgrent(void);<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>endgrent()用来关闭由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><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><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()与setgrent()。<BR></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋体 size=2><A
name=linuxc91></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>endpwent(关闭密码文件)
</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,setpwent<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<pwd.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>void
endpwent(void);<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>endpwent()用来关闭由getpwent()所打开的密码文件。<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><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><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>请参考getpwent()与setpwent()。<BR></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋体 size=2><A
name=linuxc92></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>endutent(关闭utmp 文件)
</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>getutent,setutent<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<utmp.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>void
endutent(void);<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>endutent()用来关闭由getutent所打开的utmp文件。<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><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><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>请参考getutent()。<BR></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋体 size=2><A
name=linuxc93></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>fgetgrent(从指定的文件来读取组格式)
</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>fgetpwent<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<stdio.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>struct group * getgrent(FILE *
stream);<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>fgetgrent()会从参数stream指定的文件读取一行数据,然后以group结构将该数据返回。参数stream所指定的文件必须和、etc/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>#include
<grp.h><BR>#include<sys/types.h><BR>#include<stdio.h><BR>main()<BR>{<BR>struct
group *data;<BR>FILE *stream;<BR>int i;<BR>stream = fopen("/etc/group",
"r");<BR>while((data = fgetgrent(stream))!=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>fclose(stream);<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=linuxc94></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>fgetpwent(从指定的文件来读取密码格式)
</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<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<pwd.h><BR>#include<stdio.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>struct passwd * fgetpwent(FILE
*stream);<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>fgetpwent()会从参数stream指定的文件读取一行数据,然后以passwd结构将该数据返回。参数stream所指定的文件必须和/etc/passwd相同的格式。passwd结构定义请参考getpwent()。<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>返回passwd结构数据,如果返回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>#include<pwd.h><BR>#include<sys/types.h><BR>main()<BR>{<BR>struct
passwd *user;<BR>FILE *stream;<BR>stream = fopen("/etc/passwd",
"r");<BR>while((user =
fgetpwent(stream))!=0){<BR>printf("%s:%d:%d:%s:%s:%s\n",user->pw_name,user->pw_uid,user->pw_gid,user->pw_gecos,user->pw_dir,user->pw_shell);<BR>}<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:0:0:root:/root:/bin/bash<BR>bin:1:1:bin:/bin:<BR>daemon:2:2:daemon:/sbin:<BR>adm:3:4:adm:/var/adm:<BR>lp:4:7:lp:/var/spool/lpd:<BR>sync:5:0:sync:/sbin:/bin/sync<BR>shutdown:6:0:shutdown:/sbin:/sbin/shutdown<BR>halt:7:0:halt:/sbin:/sbin/halt<BR>mail:8:12:mail:/var/spool/mail:<BR>news:9:13:news:var/spool/news<BR>uucp:10:14:uucp:/var/spool/uucp:<BR>operator:11:0:operator
:/root:<BR>games:12:100:games:/usr/games:<BR>gopher:13:30:gopher:/usr/lib/gopher-data:<BR>ftp:14:50:FTP
User:/home/ftp:<BR>nobody:99:99:Nobody:/:<BR>xfs:100:101:X Font Server:
/etc/Xll/fs:/bin/false<BR>gdm:42:42:/home/gdm:/bin/bash<BR>kids:500:500: :
/home/kids:/bin/bash<BR></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -