news 2026/8/26 16:28:58

26、深入探索用户与组数据库读取及数组遍历

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
26、深入探索用户与组数据库读取及数组遍历

深入探索用户与组数据库读取及数组遍历

在编程中,获取用户和组的相关信息是一项常见需求。同时,处理多维数组也经常会遇到。下面将详细介绍如何读取用户与组数据库,以及如何遍历多维数组。

读取用户数据库

PROCINFO 数组可提供当前用户的真实和有效用户及组 ID 号,但这些数字对普通用户来说信息价值不大。为了获取与用户和组 ID 号相关的有用信息,需要一套从用户数据库中检索信息的函数。

POSIX 标准未定义存储用户信息的文件,而是提供了<pwd.h>头文件和几个 C 语言子例程来获取用户信息,其中主要函数是getpwent()用于获取密码条目。虽然 awk 程序可直接读取/etc/passwd文件,但该文件可能不包含系统所有用户的完整信息。因此,需要编写一个调用getpwent()的 C 程序来生成用户数据库的可读完整版本。

以下是一个名为pwcat的 C 程序,用于输出密码数据库:

/* * pwcat.c * * Generate a printable version of the password database. */ #include <stdio.h> #include <pwd.h> int main(int argc, char **argv) { struct passwd *p; while ((p = getpwent()) != NULL
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/27 3:32:47

32、让 awk 程序走向国际化与调试指南

让 awk 程序走向国际化与调试指南 一、awk 程序的国际化 在开发跨语言的 awk 程序时,国际化是必不可少的环节。gawk 提供了一系列变量和函数来支持国际化操作。 1. 国际化相关变量 TEXTDOMAIN :该变量用于指定应用程序的文本域,为了与 GNU gettext 兼容,其默认值为 “m…

作者头像 李华
网站建设 2026/8/25 19:56:15

33、gawk调试器使用指南

gawk调试器使用指南 1. 引言 在编程过程中,调试是发现和修复代码问题的重要环节。gawk作为一款强大的文本处理工具,也具备调试功能。本文将通过一个示例调试会话,详细介绍gawk调试器的使用方法,包括如何启动调试器、查找和解决问题,以及常用的调试命令。 2. 启动调试器…

作者头像 李华
网站建设 2026/8/26 15:07:37

34、gawk调试器与算术运算全解析

gawk调试器与算术运算全解析 1. gawk调试器介绍 gawk内置了一个与GNU调试器GDB非常相似的调试器,它能让你逐行执行程序,检查和修改变量及数组的值,帮助你理解程序实际的运行情况。 1.1 调试器选项 不带参数时,可显示可用的调试器选项及其当前值。 ‘option name’ 显…

作者头像 李华
网站建设 2026/8/27 4:05:46

42、全面指南:gawk 在不同系统的安装与使用

全面指南:gawk 在不同系统的安装与使用 1. gawk 发行版获取与解压 要使用 gawk,首先需要获取其发行版并进行解压。获取 gawk 发行版有两种方式: - 从已有该软件的人那里复制。 - 从互联网主机 ftp.gnu.org 的 /gnu/gawk 目录下载。支持匿名 ftp 和 http 访问,若有 wget…

作者头像 李华
网站建设 2026/8/27 2:41:20

45、《AWK编程全面解析:从基础到高级应用》

《AWK编程全面解析:从基础到高级应用》 1. 符号与运算符 在编程中,符号和运算符是构建代码的基础元素,它们各自承担着不同的功能。以下为你介绍一些常见的符号及其用途: - 逻辑与比较运算符 : ! (非)、 != (不等于)、 !~ (不匹配正则表达式)等运算符在布…

作者头像 李华
网站建设 2026/8/26 14:12:31

13、UNIX系统下C语言的进程间通信

UNIX系统下C语言的进程间通信 在UNIX系统中使用C语言进行编程时,进程间通信(IPC)是一个重要的话题。下面将介绍几种常见的IPC机制,包括消息队列、信号量和共享内存。 消息队列 消息队列是虚拟电路和数据报的混合体。进程之间通过队列机制交换不同的消息“包”,数据按顺…

作者头像 李华