.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "GFS_PIO_GETS" "3" "13 May 2004" "Gfarm" ""
.SH NAME
gfs_pio_gets \- 一行読み込み
.SH SYNOPSIS
.sp
\fB#include
.sp
char *gfs_pio_gets (GFS_File \fIf\fB, char * \fIs\fB, size_t \fIsize\fB);
\fR
.SH "DESCRIPTION"
.PP
ファイル
\fIgf\fR
から、文字列
\fIs\fR
に、一行読み込みます。
引数
\fIsize\fR
に文字配列
\fIs\fR
の大きさを指定します。
.PP
関数 gfs_pio_getline(3) と異なり、この関数は行末の改行記号を削除
しません。一行の内容を文字配列に納めきれない場合、あるいはファイル
末尾に改行記号が存在しない場合、入力結果の文字配列の末尾に改行記号
がつきません。しかし文字列の終わりを示す '\\0' 文字は、どちらの場合
でも付加されます。
.PP
EOF
は、入力結果の文字配列の長さが 0 文字であることで判断します。
.SH "RETURN VALUES"
.TP
\fBNULL\fR
正常終了を示します。
.TP
\fBGFARM_ERR_NO_MEMORY\fR
メモリ不足のため処理を中止しました。
.TP
\fBその他\fR
上記以外のエラーが生じたことを示します。
.SH "EXAMPLES"
.SS "GFS_PIO_GETS 関数の使用例"
.PP
.nf
#include
#include
#include
int
main(int argc, char **argv)
{
char *e;
GFS_File gf;
char buffer[512];
e = gfarm_initialize(&argc, &argv);
if (e != NULL) {
fprintf(stderr, "gfarm_initialize: %s\\n", e);
return (EXIT_FAILURE);
}
if (argc <= 1) {
fprintf(stderr, "missing gfarm filename\\n");
return (EXIT_FAILURE);
}
e = gfs_pio_open(argv[1], GFARM_FILE_RDONLY, &gf);
if (e != NULL) {
fprintf(stderr, "%s: %s\\n", argv[1], e);
return (EXIT_FAILURE);
}
e = gfs_pio_set_view_global(gf, 0);
if (e != NULL) {
fprintf(stderr, "%s: gfs_pio_set_view_global: %s\\n",
argv[1], e);
return (EXIT_FAILURE);
}
while ((e = gfs_pio_gets(gf, buffer, sizeof buffer)) != NULL &&
*buffer != '\\0') {
printf("got: %s", buffer);
}
if (e != NULL) {
fprintf(stderr, "ERROR: %s\\n", e);
return (EXIT_FAILURE);
}
e = gfs_pio_close(gf);
if (e != NULL) {
fprintf(stderr, "gfs_pio_close: %s\\n", e);
return (EXIT_FAILURE);
}
e = gfarm_terminate();
if (e != NULL) {
fprintf(stderr, "gfarm_initialize: %s\\n", e);
return (EXIT_FAILURE);
}
return (EXIT_SUCCESS);
}
.fi
.SH "SEE ALSO"
.PP
\fBgfs_pio_open\fR(3),
\fBgfs_pio_getline\fR(3),
\fBgfs_pio_readline\fR(3),
\fBgfs_pio_readdelim\fR(3)