OSDN Git Service

長音記号の修正を release に反映
[linuxjm/LDP_man-pages.git] / release / man3 / getline.3
index e09c910..af4752e 100644 (file)
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH GETLINE 3 2013\-04\-19 GNU "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 2001 Yuichi SATO
+.\"         all rights reserved.
+.\" Translated 2001-11-09, Yuichi SATO <ysato@h4.dion.ne.jp>
+.\" Updated 2006-07-20, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.34
+.\" Updated 2010-04-18, Akihiro MOTOKI, LDP v3.24
+.\" Updated 2013-07-22, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH GETLINE 3 2015\-01\-22 GNU "Linux Programmer's Manual"
 .SH 名前
 getline, getdelim \- 区切り文字までの文字列入力を読み込む
 .SH 書式
@@ -58,24 +66,27 @@ _GNU_SOURCE
 .PD
 .ad
 .SH 説明
-\fBgetline\fP()  は \fIstream\fP から 1 行全てを読み込み、テキストが含まれているバッファのアドレスを \fI*lineptr\fP
\81«æ ¼ç´\8dã\81\99ã\82\8bã\80\82 ã\83\90ã\83\83ã\83\95ã\82¡ã\81¯ã\83\8cã\83«æ\96\87å­\97 (\e0) ã\81§çµ\82端ã\81\95ã\82\8cã\82\8bã\80\82 æ\94¹è¡\8cæ\96\87å­\97ã\81\8cè¦\8bã\81¤ã\81\8bã\81£ã\81\9få ´å\90\88ã\81¯ã\80\81æ\94¹è¡\8cæ\96\87å­\97ã\82\82ã\83\90ã\83\83ã\83\95ã\82¡に格納される。
+\fBgetline\fP()  ã\81¯ \fIstream\fP ã\81\8bã\82\89 1 è¡\8cå\85¨ã\81¦ã\82\92読ã\81¿è¾¼ã\81¿ã\80\81ã\83\86ã\82­ã\82¹ã\83\88ã\81\8cå\90«ã\81¾ã\82\8cã\81¦ã\81\84ã\82\8bã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81®ã\82¢ã\83\89ã\83¬ã\82¹ã\82\92 \fI*lineptr\fP
\81«æ ¼ç´\8dã\81\99ã\82\8bã\80\82 ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81¯ã\83\8cã\83«æ\96\87å­\97 (\e0) ã\81§çµ\82端ã\81\95ã\82\8cã\82\8bã\80\82 æ\94¹è¡\8cæ\96\87å­\97ã\81\8cè¦\8bã\81¤ã\81\8bã\81£ã\81\9få ´å\90\88ã\81¯ã\80\81æ\94¹è¡\8cæ\96\87å­\97ã\82\82ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼に格納される。
 
-\fI*lineptr\fP が NULL の場合、 \fBgetline\fP()  は行の内容を格納するためのバッファを確保する。
-このバッファはユーザーのプログラムで解放すべきである (この場合、 \fI*n\fP の値は無視される)。
+\fI*lineptr\fP が NULL にセットされ、 \fI*n\fP が呼び出し前に 0 にセットされた場合、 \fBgetline\fP()
+は行の内容を格納するためのバッファーを確保する。 このバッファーは、 \fBgetline\fP()
+が失敗した場合であっても、ユーザーのプログラムで解放すべきである。
 
 別の方法として、 \fBgetline\fP()  を呼び出す際に、 \fI*lineptr\fP に \fBmalloc\fP(3)  で確保した大きさ \fI*n\fP
\83\90ã\82¤ã\83\88ã\81®ã\83\90ã\83\83ã\83\95ã\82¡ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\82\92å\85¥ã\82\8cã\81¦æ¸¡ã\81\99ã\81\93ã\81¨ã\82\82ã\81§ã\81\8dã\82\8bã\80\82 èª­ã\81¿è¾¼ã\82\93ã\81 è¡\8cã\82\92ä¿\9dæ\8c\81ã\81\99ã\82\8bã\81®ã\81«å\8d\81å\88\86ã\81ªã\83\90ã\83\83ã\83\95ã\82¡がない場合、 \fBgetline\fP()  は
-\fBrealloc\fP(3)  を使ってバッファのサイズを変更し、必要に応じて \fI*lineptr\fP と \fI*n\fP を更新する。
\83\90ã\82¤ã\83\88ã\81®ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92å\85¥ã\82\8cã\81¦æ¸¡ã\81\99ã\81\93ã\81¨ã\82\82ã\81§ã\81\8dã\82\8bã\80\82 èª­ã\81¿è¾¼ã\82\93ã\81 è¡\8cã\82\92ä¿\9dæ\8c\81ã\81\99ã\82\8bã\81®ã\81«å\8d\81å\88\86ã\81ªã\83\90ã\83\83ã\83\95ã\82¡ã\83¼がない場合、 \fBgetline\fP()  は
+\fBrealloc\fP(3)  ã\82\92使ã\81£ã\81¦ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81®ã\82µã\82¤ã\82ºã\82\92å¤\89æ\9b´ã\81\97ã\80\81å¿\85è¦\81ã\81«å¿\9cã\81\98ã\81¦ \fI*lineptr\fP ã\81¨ \fI*n\fP ã\82\92æ\9b´æ\96°ã\81\99ã\82\8bã\80\82
 
-どちらの場合でも、呼び出しに成功したときには、 \fI*lineptr\fP と \fI*n\fP がバッファのアドレスと割り当てたサイズを反映した値に更新される。
+どちらの場合でも、呼び出しに成功したときには、 \fI*lineptr\fP と \fI*n\fP
+がバッファーのアドレスと割り当てたサイズを反映した値に更新される。
 
 \fBgetdelim\fP()  は \fBgetline\fP()  と同じように動作するが、改行文字以外の区切り文字を引き数 \fIdelim\fP
 に指定することができる。 \fBgetline\fP()  と同様に、ファイル終端に達するまでに入力行に区切り文字が見付からない場合は、
-区切り文字をバッファに追加しない。
\8cºå\88\87ã\82\8aæ\96\87å­\97ã\82\92ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81«è¿½å\8a ã\81\97ã\81ªã\81\84ã\80\82
 .SH 返り値
-成功した場合、 \fBgetline\fP()  と \fBgetdelim\fP()  は読み込んだ文字数を返す。 文字数には区切り文字は含まれるが、終端に使う
-NULL バイト (\(aq\e0\(aq) は含まれない。 この値によって、読み込んだ行に含まれる NULL バイトを操作することができる。
+成功した場合、 \fBgetline\fP()  と \fBgetdelim\fP()  は読み込んだ文字数を返す。
+文字数には区切り文字は含まれるが、終端に使うヌルバイト (\(aq\e0\(aq) は含まれない。
+この値によって、読み込んだ行に含まれるヌルバイトを操作することができる。
 
 どちらの関数も、行の読み込みに失敗した場合には \-1 を返す (ファイルの終端に達した場合にも \-1 を返す)。 エラーが発生した場合には、
 \fIerrno\fP にエラーの原因を示す値が設定される。
@@ -83,8 +94,6 @@ NULL バイト (\(aq\e0\(aq) は含まれない。 この値によって、読
 .TP 
 \fBEINVAL\fP
 引き数が不正である (\fIn\fP または \fIlineptr\fP が NULL である。 もしくは \fIstream\fP が有効でない)。
-.SH バージョン
-これらの関数は libc 4.6.27 以降で利用可能である。
 .SH 準拠
 \fBgetline\fP()  と \fBgetdelim\fP()  は、どちらも元は GNU による拡張であったが、 POSIX.1\-2008
 で標準化された。
@@ -97,27 +106,28 @@ NULL バイト (\(aq\e0\(aq) は含まれない。 この値によって、読
 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), \fBgets\fP(3), \fBscanf\fP(3)
+\fBread\fP(2), \fBfgets\fP(3), \fBfopen\fP(3), \fBfread\fP(3), \fBscanf\fP(3)
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.53 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.78 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。