fgetpwent(3) パスワードファイルエントリの取り出し

書式

#include <stdio.h>
#include <sys/types.h>
#include <pwd.h>


struct passwd *fgetpwent(FILE *stream);

glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):

fgetpwent(): _SVID_SOURCE

説明

fgetpwent() 関数は、stream から得られた行を分解したフィールド を含む構造体へのポインタを返す。 最初に呼び出された時には最初のエントリを返し、それ以降は 次のエントリを返す。 stream で参照されるファイルは /etc/passwd と同じ形式でなければならない (passwd(5) 参照)。

passwd 構造体は、<pwd.h> で以下のように定義されている:

struct passwd {
    char   *pw_name;       /* ユーザ名 */
    char   *pw_passwd;     /* ユーザのパスワード */
    uid_t   pw_uid;        /* ユーザ ID */
    gid_t   pw_gid;        /* グループ ID */
    char   *pw_gecos;      /* 実名 */
    char   *pw_dir;        /* ホームディレクトリ */
    char   *pw_shell;      /* シェルプログラム */
};

返り値

fgetpwent() 関数は、 passwd 構造体へのポインタを返す。 これ以上エントリが無いか、エラーが発生した場合は NULL を返す。 エラーの場合、 errno に原因を示す値が設定される。

エラー

ENOMEM
passwd 構造体に割り当てるメモリが十分なかった。

ファイル

/etc/passwd
パスワードデータベースファイル

準拠

SVr4.

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.65 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。