functions_with_errcheck.h マニュアル

(The documentation of functions_with_errcheck.h)

Last Update: 2024/1/5


functions_with_errcheck.hでは C言語組み込み関数をエラーチェック付きで呼び出す関数が定義されている。
Functions to call a built-in C function with error checks are defined in functions_with_errcheck.h.

C言語組み込み関数の多くはエラーチェック機能を有していない。 例えば整数を表さない文字列を関数atoi(文字列を整数に変換する関数)に渡しても、 負の数を関数sqrt(実数の\(\sqrt{\hspace{0.5em}}\)を計算する関数) に渡してもエラーは起きない。 また関数fopenを用いて存在しないファイルを読み込みモードで開いてもエラーは起きず、 既に存在するファイルを開けば警告無しに上書きされてしまう。
Most of the build-in C functions do not check errors automatically. For example, no error is issued in cases where a string that does not represent an integer is given to function atoi (a function to convert a string to an integer), or a negative value is given to function sqrt (a function to calculate the square root of a real number). Also, function fopen does not issue an error even if a file which does not exist is opened with a reading mode, and using this function with a writing mode results in overwriting an existing file without warnings.

このような仕様はミスの元であるので、 このヘッダファイルにおいて 組み込み関数と典型的なエラーチェックを組合せた関数を用意している。 例えばこのヘッダファイル内でCKatoiという関数が定義されている。 これは組み込み関数のatoiをエラーチェック付きで実行するものである。 整数値を表す文字列("12"や"-345"など)を この関数に渡した場合には対応する整数値が返される。 一方、整数値でない文字列("6.78"や"a9"など)を渡した場合には エラーメッセージを出力してプログラムを終了する。 これにより、ミスによって意図しない計算が気づかず行われてしまうリスクを 軽減することができる。
To easily avoid mistakes cased by using these build-in functions, this header file provides alternative functions, which gives the same procedures as the build-in functions with typical error checks. For example, a function CKatoi is defined in this header file. This function calls a build-in function atoi with error checks. If a string that represents an integer (e.g., "12" or "-345") is given to the function, an integer represented by the string is returned. However, if a string that does not represent an integer (e.g., "6.78" or "a9"), the program finishes with an error message. In this way, it becomes less likely that a wrong calculation is conducted by mistake without being aware of it.

このヘッダファイル内で定義されている関数を以下に示す。 各関数の詳細は関数名をクリックしてリンク先を参照のこと。
Functions defined in this header file are listed below. For details of individual functions, click the links.

関数名
Function name
機能・用途
Purpose
CKacos 関数acos(実数の\(\cos^{-1}\)の計算) をエラーチェック付きで実行する。
Call function acos (calculation of \(\cos^{-1}\) of a real number) with error checks.
CKasin 関数asin(実数の\(\sin^{-1}\)の計算) をエラーチェック付きで実行する。
Call function asin (calculation of \(\sin^{-1}\) of a real number) with error checks.
CKatof 関数atof(文字列から実数への変換) をエラーチェック付きで実行する。
Call function atof (conversion of a string to a real number) with error checks.
CKatof_allow0 関数atof(文字列から実数への変換) をエラーチェック付きで実行する。 「01.23」など頭に0が付く数字、 「.45」など小数点から始まる数字、 「67.」など小数点で終わる数字を許容する。
Call function atof (conversion of a string to a real number) with error checks, allowing numbers beginning with zero (e.g., “01.23”), beginning with the decimal point (e.g., “.45”), and ending with the decimal point (e.g., “67.”).
CKatoi 関数atoi(文字列から整数への変換) をエラーチェック付きで実行する。
Call function atoi (conversion of a string to an integer) with error checks.
CKatoi_allow0 関数atoi(文字列から整数への変換) をエラーチェック付きで実行する。 「01」など頭に0が付く数字を許容する。
Call function atoi (conversion of a string to an integer) with error checks, allowing numbers beginning with zero (e.g., “01”).
CKcalloc 関数calloc(配列の動的メモリの確保) をエラーチェク付きで実行する。
Call function calloc (allocating the dynamic memory for an array) with error checks.
CKcdivide 複素数同士の割り算 をエラーチェック付きで実行する。
Compute the quotient of two complex numbers with error checks.
CKdiv 関数div(整数同士の割り算における商と余りの計算) をエラーチェック付きで実行する。
Call function div (calculations of the quotient and remainder in dividing an integer by another) with error checks.
CKfclose 関数fclose(ファイルのクローズ) をエラーチェック付きで実行する。
Call function fclose (closing a file) with error checks.
CKfdivide 実数同士の割り算 をエラーチェック付きで実行する。
Compute the quotient of two real numbers with error checks.
CKfgetc 関数fgetc(ファイルからの1文字の読み込み) をエラーチェック付きで実行する。
Call function fgetc (reading a character from a file) with error checks.
CKfgetc2 関数fgetc(ファイルからの1文字の読み込み) をエラーチェック付きで実行する。 EOFをエラーとして扱わないバージョン。
Call function fgetc (reading a character from a file) with error checks. A version not treating EOF as an error.
CKfgetc3 関数fgetc(ファイルからの1文字の読み込み)の改良版。 単純に1バイトをchar型変数に読み込む。
An improved version of function fgetc to simply read a byte into a char-type variable.
CKfgets 関数fgets(ファイルからの1行の読み込み) をエラーチェック付きで実行する。
Call function fgets (reading a line from a file) with error checks.
CKfmod
【マニュアル改訂中につき非公開】
[Documentation is not open as it is under revision]
関数fmod(実数同士の割り算における余りの計算) をエラーチェック付きで実行する。
Call function fmod (calculation of the remainder in dividing a real number by anotherc) with error checks.
CKfopen 関数fopen(ファイルのオープン) をエラーチェック付きで実行する。
Call function fopen (opening a file) with error checks.
CKfread 関数fread(ファイルからのバイナリデータの読み込み) をエラーチェック付きで実行する。
Call function fread (reading a binary data from a file) with error checks.
CKfree 関数free(配列の動的メモリの解放) をエラーチェック付きで実行する。
Call function free (releasing the dynamic memory of an array) with error checks.
CKfwrite 関数fwrite(ファイルへのバイナリデータの書き込み) をエラーチェック付きで実行する。
Call function fwrite (writing a binary data into a file) with error checks.
CKgetchar
【マニュアル改訂中につき非公開】
[Documentation is not open as it is under revision]
関数getchar(標準入力からの1文字の読み込み) をエラーチェック付きで実行する。
Call function getchar (reading a character from stdin) with error checks.
CKgetcwd 関数getcwd(カレントディレクトリの取得) をエラーチェック付きで実行する。
Call function getcwd (obtaining the current directory) with error checks.
CKgetenv 関数getenv(環境変数の取得) をエラーチェック付きで実行する。
Call function getenv (obtaining an environmental variable) with error checks.
CKgetenv_Bool 環境変数を取得し、真偽値に変換する。
Get an environmental variable and convert to a logical value.
CKgets
【マニュアル改訂中につき非公開】
[Documentation is not open as it is under revision]
関数gets(標準入力からの1行の読み込み) をエラーチェック付きで実行する。
Call function gets (reading a line from stdin) with error checks.
CKidivide
【マニュアル改訂中につき非公開】
[Documentation is not open as it is under revision]
整数同士の割り算 をエラーチェック付きで実行する。
Compute the quotient of two integers with error checks.
CKlog 関数log(実数の自然対数(\(\ln\))の計算) をエラーチェック付きで実行する。
Call function log (calculation of the natural logarithm (\(\ln\)) of a real number) with error checks.
CKlog10 関数log10(実数の常用対数(\(\log_{10}\))の計算) をエラーチェック付きで実行する。
Call function log10 (calculation of the common logarithm (\(\log_{10}\)) of a real number) with error checks.
CKpow 関数pow(実数の巾乗の計算) をエラーチェック付きで実行する。
Call function pow (calculation of a power of a real number) with error checks.
CKrealloc
【マニュアル改訂中につき非公開】
[Documentation is not open as it is under revision]
関数realloc(配列の動的メモリの再確保) をエラーチェック付きで実行する。
Call function realloc (re-allocating the dynamic memory for an array) with error checks.
CKremove
【マニュアル改訂中につき非公開】
[Documentation is not open as it is under revision]
関数remove(ファイルの削除) をエラーチェック付きで実行する。
Call function remove (removing a file) with error checks.
CKrename
【マニュアル改訂中につき非公開】
[Documentation is not open as it is under revision]
関数rename(ファイル名の変更) をエラーチェック付きで実行する。
Call function rename (renaming a file) with error checks.
CKsqrt 関数sqrt(実数の平方根(\(\sqrt{\hspace{0.5em}}\))の計算) をエラーチェック付きで実行する。
Call function sqrt (calculation of the square root (\(\sqrt{\hspace{0.5em}}\)) of a real number) with error checks.
CKstrcat
【マニュアル改訂中につき非公開】
[Documentation is not open as it is under revision]
関数strcat(2つの文字列の連結) をエラーチェック付きで実行する。
Call function strcat (merging two strings) with error checks.
CKstrcpy
【マニュアル改訂中につき非公開】
[Documentation is not open as it is under revision]
関数strcpy(文字列のコピー) をエラーチェック付きで実行する。
Call function strcpy (copying a string) with error checks.
CKstrncat
【マニュアル改訂中につき非公開】
[Documentation is not open as it is under revision]
関数strncat(文字列に別の文字列の一部を連結) をエラーチェック付きで実行する。
Call function strncat (merging a string and a part of another string) with error checks.
CKstrncpy 関数strncpy(文字列の一部をコピー) をエラーチェック付きで実行する。
Call function strncpy (copying a part of a string) with error checks.