博客
关于我
《Linux系统调用:getpwent,setpwent,endpwent》
阅读量:224 次
发布时间:2019-03-01

本文共 742 字,大约阅读时间需要 2 分钟。

一、介绍

getpwent(), setpwent(), endpwent() 函数组合使用可按顺序扫描/etc/passwd中的所有记录

这些函数用于在密码文件中按顺序逐条读取用户信息。getpwent() 会自动打开密码文件,不需要手动调用open函数。每次调用时会移动文件指针到下一条记录,类似于文件操作中的lseek函数。setpwent() 调用则相当于重置文件指针到起始位置,而 endpwent() 调用则关闭密码文件,不需要手动调用close函数。

这些函数通常用于逐行读取密码文件中的各个字段,如用户名、密码、用户ID等。它们的使用方式类似于传统的文件读取操作,适合处理较大的密码文件。

二、实例

#include   #include   #include   #include   #include   #include #include void print_pwd(struct passwd *pwd) { printf("passwd-%s: %s\n", pwd->pw_name, pwd->pw_pass); } int main() { struct passwd *pwd; // 打开密码文件 pwd = getpwent(); // 遍历所有用户 while ((pwd = getpwent()) != NULL) { print_pwd(pwd); } // 关闭密码文件 endpwent(); return EXIT_SUCCESS; }

上述代码示例演示了如何使用 getpwent(), setpwent(), endpwent() 函数组合读取和遍历密码文件中的所有记录。print_pwd 函数用于格式化输出每个用户的信息。

转载地址:http://lmkt.baihongyu.com/

你可能感兴趣的文章
PostgreSQL的安装与使用指南
查看>>
postgresql编译安装及配置
查看>>
Postgresql运维常用命令_登录_权限设置_创建用户_创建数据库_创建postgis数据库_远程连接---Postgresql工作笔记009
查看>>
PostgreSQL远程连接配置
查看>>
PostgreSQL远程连接,发生致命错误:没有用于主机“…”,用户“…”,数据库“…”,SSL关闭的pg_hba.conf记录
查看>>
PostgreSQL配置文件--AUTOVACUUM参数
查看>>
PostgreSQL配置文件--QUERY TUNING
查看>>
PostgreSQL配置文件--WAL
查看>>
PostgreSQL配置文件--其他
查看>>
PostgreSQL配置文件--复制
查看>>
PostgreSQL配置文件--实时统计
查看>>
PostgreSQL配置文件--资源使用(除WAL外)
查看>>
postgres访问认证配置文件pg_hba.conf
查看>>
Postgres间隔大量写IO的解决办法
查看>>
Posting JSON to Spring MVC Controller
查看>>
Qt开发——可隐藏的对话框
查看>>
Qt开发——QWebEngineView简易网络浏览器(二)
查看>>
Postman List类型传参方法
查看>>
Qt开发——QWebEngineView浏览器开发
查看>>
Postman —— 实现接口自动化测试!
查看>>