fgetpwent函数用法详解
fgetpwent函数简介
- 头文件包含
#include <stdio.h>
#include <sys/types.h>
#include <pwd.h>
- 函数定义
struct passwd *fgetpwent(FILE * stream );
fgetpwent函数常见使用错误
- 编译错误
warning: implicit declaration of function ‘fgetpwent’ [-Wimplicit-function-declaration]
解决办法:包含头文件
#include <stdio.h>
#include <sys/types.h>
#include <pwd.h>
fgetpwent函数详细描述
fgetpwent ()函数返回一个指针,指向一个结构,该结构包含文件pstream中一行的中断字段。第一次调用它时,它返回第一个条目;此后,它返回连续的条目。stream引用的文件必须与/etc/passwd具有相同的格式(请参见passwd (5))
passwd结构在
struct passwd {
char *pw_name; /* username */
char *pw_passwd; /* user password */
uid_t pw_uid; /* user ID */
gid_t pw_gid; /* group ID */
char *pw_gecos; /* real name */
char *pw_dir; /* home directory */
char *pw_shell; /* shell program */
};
fgetpwent函数返回值
fgetpwent ()函数返回一个指向passwd结构的指针,如果没有更多条目或发生错误,则返回NULL。如果发生错误,errno被设置为指示原因。
fgetpwent函数错误码
- ENOMEM 内存不足,无法分配passwd结构。
评论区