fgetc

[機能]

  ストリームから 1 文字を読み込みます.区切り文字も取り出して格納します.機能として,getc と同じですが,マクロではなく,関数として記述してあります.成功すると読み込んだ文字を返し,エラーが発生するかまたはファイルの終端に達すると EOF を返します.

[形式]
	#include <stdio.h>

	int fgetc(FILE *stream)
		stream : FILE 構造体へのポインタ
		
[使用例]

  1. fgetc 関数と fgets 関数の比較
    #include <stdio.h>
    
    int main()
    {
    	int i1;
    	char str[81];
    	FILE *stream;
    	fpos_t pos;
    /*
    		 テストデータをファイルへ出力
    */
    	stream = fopen("data", "w");
    
    	fputs("This is a test", stream);
    
    	fclose(stream);
    /*
    		 ファイルのオープン
    */
    	stream = fopen("data", "r");
    
    	fgetpos(stream, &pos);                /* ファイル位置の取得 */
    /*
    		 fgets関数による入力
    */
    	fgets(str, 50, stream);
    	printf("%s\n", str);
    /*
    		 fgetc関数による入力
    */
    	i1 = 0;
    	fsetpos(stream, &pos);                /* ファイル位置を戻す */
    
    	while ((str[i1] = (char)fgetc(stream)) != EOF)
    		i1++;
    
    	str[i1] = '\0';
    
    	printf("%s\n", str);
    
    	return 0;
    }
    			
    (出力)
    This is a test
    This is a test
    			
[参照]

getc, getchar, gets, putc, putchar, puts, fgets, fputc, fputs, getw, putw, ungetc

菅沼ホーム 本文目次 演習問題解答例 付録目次 索引