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

你可能感兴趣的文章
php zookeeper实现分布式锁
查看>>
PHP 中 this,self,parent 的区别、用法
查看>>
PHP 中如何高效地处理大规模数据的排序?
查看>>
PHP 之ftp客户端类封装实现
查看>>
php 代码改进
查看>>
php 代码混淆
查看>>
PHP 使用 $_SERVER['PHP_SELF'] 获取当前页面地址及其安全性问题
查看>>
Redis系列之如何避免缓存击穿
查看>>
php 内存分析
查看>>
PHP 函数名前面加&
查看>>
redis报错
查看>>
php 删除包含某一字符的数组元素
查看>>
Redis学习总结(19)——Redis 5种集群方式对比
查看>>
php 反射
查看>>
php 处理 大并发
查看>>
php 大文件上传
查看>>
php 子进程监听消息,swoole学习笔记之多线程端口监听问题记录 多进程epoll模式...
查看>>
PHP 学习笔记 (四)
查看>>
Redis入门概述
查看>>
php 实现Iterator 接口
查看>>