関数CKfgetc2 マニュアル

(The documentation of function CKfgetc2)

Last Update: 2022/10/28


◆機能・用途(Purpose)

関数fgetc(ファイルからの1文字の読み込み)をエラーチェック付きで実行する。 EOFをエラーとして扱わないバージョン。
Call function fgetc (reading a character from a file) with error checks. A version not treating EOF as an error.

この関数は「ファイルエンドに到達するまで1文字ずつ読み込む」という処理を 実装できるように用意した。 関数CKfgetcではEOFを読み込んだときにプログラムをエラー終了する仕様であるので、 予め長さが分かっていないファイルを末尾まで読み込む処理ができない。 CKfgetc2ではEOFを読み込んでもエラー終了しないので 下記「使用例」のような使い方ができる。
This function was developed to enable an implementation of reading character-by-character until reaching the file end. The function CKfgetc detects an error when EOF encountered, and thus cannot be used for repeatedly reading a character until reaching the end of a file of an unknown length. For this purpose, the function CKfgetc2 can be used instead, as shown in the “Example” below, because it does not treat EOF as an error.


◆形式(Format)

#include <functions_with_errcheck.h>
inline char CKfgetc2(FILE ∗stream)


◆引数(Arguments)

stream 読み込むファイルのファイルポインタ。
The file pointer of the file to read.


◆戻り値とエラーチェック (Return value and error checks)

下表で桃色のセルがエラー処理を表す。
The pick colored cells in the table below represent error checks.

条件
Condition
戻り値/動作
Return value or behaviour of the function
stream=NULL プログラムをエラー終了する。
The program finishes as an error.
関数fgetcの戻り値がエラー値(EOF)の場合
The return value of function fgetc is an error value (EOF)
0を返す。
Returns 0.
関数fgetcの戻り値(int型)がchar型の範囲(-128〜127)を外れる場合
The return value of function fgetc (int-type) is out of the range of char-type (from -128 to 127)
プログラムをエラー終了する。
The program finishes as an error.
上記以外の場合
The other cases
関数fgetcの戻り値(int型)をchar型にキャストして返す。
Cast the return value of function fgetc (int-type) to char-type and return.


◆使用例(Example)

FILE ∗fp=fopen("data.txt","r");
char ch;
while(1){
    ch=CKfgetc2(fp);
    if(feof(fp)==1) break;
    printf("%c\n",ch);
}