.\" 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 \- read one line
.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
\fBgfs_pio_gets()\fR reads one line from
the file specified by the parameter
\fIgf\fR
to the buffer specified by the parameter
\fIs\fR.
You need to specify the size of the buffer by the parameter
\fIsize\fR.
.PP
Unlike gfs_pio_getline(3), this function doesn't remove newline
character at the end of the buffer. But if whole contents of the
line cannot be stored to the buffer due to its length, or if the
file reaches the end without newline, there will be no newline
at the end of the buffer. In any case, one '\\0' character is
appended to the end of the buffer.
.PP
If the file reaches its end, the length of the string in the buffer
becomes 0.
.SH "RETURN VALUES"
.TP
\fBNULL\fR
The function terminated successfully.
.TP
\fBGFARM_ERR_NO_MEMORY\fR
Insufficient memory was available.
.TP
\fBOthers\fR
An error except the above occurred. The reason is shown by its
pointed strings.
.SH "EXAMPLES"
.SS "EXAMPLE OF GFS_PIO_GETS FUNCTION"
.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)