関数CKfgetc3 マニュアル

(The documentation of function CKfgetc3)

Last Update: 2022/10/31


◆機能・用途(Purpose)

関数fgetc(ファイルからの1文字の読み込み)の改良版。 単純に1バイトをchar型変数に読み込む。
An improved version of function fgetc to simply read a byte into a char-type variable.

関数fgetcではマルチバイト文字も1文字として扱っており、 その結果としてchar型変数の定義域を超えて 関数CKfgetc, CKfgetc2ではエラーになってしまう。 そこでマルチバイト文字を1バイトずつ読み込めるようにこの関数を用意した。 関数freadを用いても同様の処理は可能であるが、 この関数を用いる方がより直感的な書き方ができる。
Function fgetc treads a multi-byte character as a single character that exceeds the definition range of a char-type variable. As a result, functions CKfgetc and CKfgetc2 returns an error when they encounter a multi-byte character. This function realizes byte-by-byte reading of multi-byte characters, which is also possible by function fread but can be coded in more intuitive way by this function.


◆形式(Format)

#include <functions_with_errcheck.h>
inline char CKfgetc3(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.
上記以外の場合
The other cases
streamの現在の位置から1バイトをchar型変数に読み込んで返す。
Read a byte at the current position of stream into a char-type variable, and return it.


◆使用例(Example)

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