Scroll to navigation

GFS_PIO_GETS(3) GFS_PIO_GETS(3)

NAME

gfs_pio_gets - 一行読み込み

SYNOPSIS

#include <gfarm/gfarm.h>
 
char *gfs_pio_gets (GFS_File f, char * s, size_t size );

DESCRIPTION

ファイル gf から、文字列 s に、一行読み込みます。 引数 size に文字配列 s の大きさを指定します。
関数 gfs_pio_getline(3) と異なり、この関数は行末の改行記号を削除 しません。一行の内容を文字配列に納めきれない場合、あるいはファイル 末尾に改行記号が存在しない場合、入力結果の文字配列の末尾に改行記号 がつきません。しかし文字列の終わりを示す '\0' 文字は、どちらの場合 でも付加されます。
EOF は、入力結果の文字配列の長さが 0 文字であることで判断します。

RETURN VALUES

NULL
正常終了を示します。
GFARM_ERR_NO_MEMORY
メモリ不足のため処理を中止しました。
その他
上記以外のエラーが生じたことを示します。

EXAMPLES

GFS_PIO_GETS 関数の使用例

 
#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)
13 May 2004 Gfarm