.\" Updated 2010-04-18, Akihiro MOTOKI, LDP v3.24
.\" Updated 2013-07-22, Akihiro MOTOKI <amotoki@gmail.com>
.\"
-.TH GETLINE 3 2014\-04\-06 GNU "Linux Programmer's Manual"
+.TH GETLINE 3 2015\-01\-22 GNU "Linux Programmer's Manual"
.SH 名前
getline, getdelim \- 区切り文字までの文字列入力を読み込む
.SH 書式
に指定することができる。 \fBgetline\fP() と同様に、ファイル終端に達するまでに入力行に区切り文字が見付からない場合は、
区切り文字をバッファに追加しない。
.SH 返り値
-成功した場合、 \fBgetline\fP() と \fBgetdelim\fP() は読み込んだ文字数を返す。 文字数には区切り文字は含まれるが、終端に使う
-NULL バイト (\(aq\e0\(aq) は含まれない。 この値によって、読み込んだ行に含まれる NULL バイトを操作することができる。
+成功した場合、 \fBgetline\fP() と \fBgetdelim\fP() は読み込んだ文字数を返す。
+文字数には区切り文字は含まれるが、終端に使うヌルバイト (\(aq\e0\(aq) は含まれない。
+この値によって、読み込んだ行に含まれるヌルバイトを操作することができる。
どちらの関数も、行の読み込みに失敗した場合には \-1 を返す (ファイルの終端に達した場合にも \-1 を返す)。 エラーが発生した場合には、
\fIerrno\fP にエラーの原因を示す値が設定される。
.TP
\fBEINVAL\fP
引き数が不正である (\fIn\fP または \fIlineptr\fP が NULL である。 もしくは \fIstream\fP が有効でない)。
-.SH バージョン
-これらの関数は libc 4.6.27 以降で利用可能である。
.SH 準拠
\fBgetline\fP() と \fBgetdelim\fP() は、どちらも元は GNU による拡張であったが、 POSIX.1\-2008
で標準化された。
int
main(void)
{
- FILE *fp;
+ FILE *stream;
char *line = NULL;
size_t len = 0;
ssize_t read;
- fp = fopen("/etc/motd", "r");
- if (fp == NULL)
+ stream = fopen("/etc/motd", "r");
+ if (stream == NULL)
exit(EXIT_FAILURE);
- while ((read = getline(&line, &len, fp)) != \-1) {
+ while ((read = getline(&line, &len, stream)) != \-1) {
printf("Retrieved line of length %zu :\en", read);
printf("%s", line);
}
free(line);
+ fclose(stream);
exit(EXIT_SUCCESS);
}
.fi
.SH 関連項目
\fBread\fP(2), \fBfgets\fP(3), \fBfopen\fP(3), \fBfread\fP(3), \fBscanf\fP(3)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.65 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.78 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。