博客
关于我
《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/

你可能感兴趣的文章
opencv笔记(1):图像缩放
查看>>
opencv笔记(二十四)——得到轮廓之后找到凸包convex hull
查看>>
OpenCV计算点到直线的距离 数学法
查看>>
Opencv识别图中人脸
查看>>
OpenCV读写avi、mpeg文件
查看>>
opencv里用calcCovarMatrix计算协方差矩阵
查看>>
OpenCV错误:在setSize中断言失败(s&>;=0)-尝试将图像放置在网络摄像头提要上时
查看>>
opencv面向对象设计初探
查看>>
OpenCV(1)读写图像
查看>>
OpenCV:不规则形状区域中每种颜色的像素数?
查看>>
OpenCV:概念、历史、应用场景示例、核心模块、安装配置
查看>>
OpenDaylight融合OpenStack架构分析
查看>>
OpenERP ORM 对象方法列表
查看>>
openEuler Summit 2022 成功举行,开启全场景创新新时代
查看>>
openEuler 正式开放:推动计算多样化时代的到来
查看>>
OpenEuler23.03欧拉系统_安装瀚高数据库企业版6.0.4_openeuler切换root用户_su:拒绝权限_passwd: 鉴定令牌操作错误---国产瀚高数据库工作笔记001
查看>>
OpenEuler23.03欧拉系统_安装瀚高数据库企业版6.0.4_踩坑_安装以后系统无法联网_启动ens33网卡---国产瀚高数据库工作笔记002
查看>>
OpenFeign 入门与实战
查看>>
OpenFeign源码学习
查看>>
OpenFeign的使用方式成功解锁
查看>>