fgets( )とfputs( )


fgets( )とfputs( )は1行単位の入出力関数です。


「fgets( ファイルからの1行読み込み)」

(書式)

fgets(buf,n,fp)
buf : 文字列バッファ
n : 読み込む最大数
fp : オープンされているファイルポインタ

(機能)
    ファイルポインタfpで示されるファイルから、バッファbufに1行読み込みを行います。読み込みは復改(¥n)に出会うか、n−1個の文字を読み込むまで実行されます。いずれかの条件が満たされると、読み込んだ文字列の最後に、ヌル文字を付加します。fgetsが正常に行われればbufへのポインタが返されますが、ファイルエンドまたはエラーならばNULLを返します。


「fputs(ファイルへの1行書き込み)」

(書式)

fputs(buf,fp)
buf : 文字列バッファ
fp : オープンされているファイルポインタ

(機能)
    バッファbufの文字列(’¥n’が終了マーク)をファイルポインタfpで示されるファイルに書き込みます。’¥n’は書き込まれません。エラーならば−1を返します。


(例C4)ファイルtempに文字列を書き込み、またそのファイルから文字列を読み出すプログラム

# include<stdio.h>
main( )
{
     FILE * file;
     char * fgets( ),string[80];

     file=fopen("temp","w");            tempを書き込みモードでオープン
     while(gets(string)!=NULL)          標準入力から文字列を取得
     fputs(string, file);                     ファイルポインタfileに文字列を書き込む
     fclose(file);

     file=fopen("temp","r");                  tempを読み出しモードでオープン
     while(fgets(string,12,file)!=NULL)      ファイルポインタから文字列を読み出す
     puts(string);                                 標準出力に文字列を送る

}


「基礎講座もくじへ」

「Q&Aもくじへ」

「つぎへ」