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

你可能感兴趣的文章
openfire开发(四)消息拦截器
查看>>
openfire源码解读之将cache和session对象移入redis以提升性能
查看>>
Openfire身份认证绕过漏洞复现+利用(CVE-2023-32315)
查看>>
OpenForest 开源项目安装与使用指南
查看>>
OpenGL glBlendFunc() 设置颜色混合 透明度叠加计算
查看>>
OpenGL 中“立即模式”是什么意思?
查看>>
opengl 教程(15) 摄像机控制(2)
查看>>
opengl 深度详解,多重采样时,如何在OpenGL纹理中解析深度值?
查看>>
OpenGL 的内置矩阵种种
查看>>
OpenGL/OpenGL ES 入门:基础变换 - 初识向量/矩阵
查看>>
OpenGL中shader读取实现
查看>>
OpenGL中旋转平移缩放等变换的顺序对模型的影响
查看>>
Opengl中的gluProject函数认识
查看>>
OpenGl介绍
查看>>
OPENGL半透明图像产生黑色光环
查看>>
OpenGL和图形卡
查看>>
OpenGL字体绘制
查看>>
OpenGL学习
查看>>
openGL学习步骤
查看>>
OpenGL的基本概念介绍
查看>>