Man Linux: Main Page and Category List

NAME

       gfs_pio_gets - read one line

SYNOPSIS

       #include <gfarm/gfarm.h>

       char *gfs_pio_gets (GFS_File f, char * s, size_t size);

DESCRIPTION

       gfs_pio_gets()  reads one line from the file specified by the parameter
       gf to the buffer specified by the parameter s.  You need to specify the
       size of the buffer by the parameter size.

       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.

       If the file reaches its end, the length of the  string  in  the  buffer
       becomes 0.

RETURN VALUES

       NULL   The function terminated successfully.

       GFARM_ERR_NO_MEMORY
              Insufficient memory was available.

       Others An  error except the above occurred.  The reason is shown by its
              pointed strings.

EXAMPLES

   EXAMPLE OF GFS_PIO_GETS FUNCTION
       #include <stdio.h>
       #include <stdlib.h>
       #include <gfarm/gfarm.h>

       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);
       }

SEE ALSO

       gfs_pio_open(3),        gfs_pio_getline(3),        gfs_pio_readline(3),
       gfs_pio_readdelim(3)