名前

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

書式

#include <stdio.h>
#include <sys/types.h>
#include <pwd.h>
struct passwd *fgetpwent(FILE *stream);
glibc 向けの機能検査マクロの要件 ( feature_test_macros(7) 参照):
fgetpwent():
glibc 2.19 以降:
_DEFAULT_SOURCE
glibc 2.19 以前:
_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
パスワードデータベースファイル

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース 属性
fgetpwent() Thread safety MT-Unsafe race:fgetpwent

準拠

SVr4.

関連項目

endpwent(3), fgetpwent_r(3), fopen(3), getpw(3), getpwent(3), getpwnam(3), getpwuid(3), putpwent(3), setpwent(3), passwd(5)

この文書について

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