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

你可能感兴趣的文章
Oracle11g静默安装dbca,netca报错处理--直接跟换操作系统
查看>>
oracle12安装软件后安装数据库,然后需要自己配置监听
查看>>
Oracle——08PL/SQL简介,基本程序结构和语句
查看>>
Oracle——distinct的用法
查看>>
oracle下的OVER(PARTITION BY)函数介绍
查看>>
Oracle中DATE数据相减问题
查看>>
Oracle中merge into的使用
查看>>
oracle中sql查询上月、本月、上周、本周、昨天、今天的数据!
查看>>
oracle中sql的case语句运用--根据不同条件去排序!
查看>>
oracle中关于日期问题的汇总!
查看>>
Oracle中常用的语句
查看>>
Oracle中的rownum 和rowid的用法和区别
查看>>
oracle典型安装失败,安装oracle 10失败
查看>>
Oracle监听配置、数据库实例配置等
查看>>
oracle系统 介绍,ORACLE数据库管理系统介绍
查看>>
oracle零碎要点---ip地址问题,服务问题,系统默认密码问题
查看>>
org.apache.poi.hssf.util.Region
查看>>
org.hibernate.HibernateException: Unable to get the default Bean Validation factory
查看>>
org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded
查看>>
org.tinygroup.serviceprocessor-服务处理器
查看>>