C-standard-library-quick-guide
Cライブラリ-<assert.h>
C標準ライブラリの assert.h ヘッダーファイルは、 assert というマクロを提供します。このマクロを使用すると、プログラムによって行われた仮定を検証し、この仮定が偽の場合に診断メッセージを出力できます。
定義されたマクロ assert は、<assert.h>の一部ではない別のマクロ NDEBUG を参照しています。 NDEBUGがソースファイルのマクロ名として定義されている場合、<assert.h>が含まれるポイントで、 assert マクロは次のように定義されます-
#define assert(ignore) ((void)0)
ライブラリマクロ
以下は、ヘッダーassert.hで定義されている唯一の機能です-
Sr.No. | Function & Description |
---|---|
1 |
これは実際にはマクロであり、関数ではなく、Cプログラムに診断を追加するために使用できます。 |
Cライブラリ-<ctype.h>
C標準ライブラリの ctype.h ヘッダーファイルは、文字のテストとマッピングに役立ついくつかの関数を宣言します。
すべての関数は、パラメータとして int を受け入れます。その値はEOFであるか、符号なしcharとして表現可能でなければなりません。
引数cが記述された条件を満たす場合、すべての関数はゼロ以外(true)を返し、そうでない場合はzero(false)を返します。
ライブラリ関数
以下は、ヘッダーctype.hで定義されている機能です-
Sr.No. | Function & Description |
---|---|
1 |
この関数は、渡された文字が英数字かどうかをチェックします。 |
2 |
この関数は、渡された文字がアルファベットかどうかを確認します。 |
3 |
この関数は、渡された文字が制御文字かどうかを確認します。 |
4 |
この関数は、渡された文字が10進数かどうかを確認します。 |
5 |
この関数は、渡された文字がロケールを使用してグラフィカルな表現を持っているかどうかをチェックします。 |
6 |
この関数は、渡された文字が小文字かどうかを確認します。 |
7 |
この関数は、渡された文字が印刷可能かどうかを確認します。 |
8 |
この関数は、渡された文字が句読点文字かどうかを確認します。 |
9 |
この関数は、渡された文字が空白かどうかをチェックします。 |
10 |
この関数は、渡された文字が大文字かどうかを確認します。 |
11 |
この関数は、渡された文字が16進数字かどうかをチェックします。 |
ライブラリには、「int」を受け入れて返す2つの変換関数も含まれています。
Sr.No. | Function & Description |
---|---|
1 |
この関数は、大文字を小文字に変換します。 |
2 |
この関数は、小文字を大文字に変換します。 |
キャラクタークラス
Sr.No. | Character Class & Description |
---|---|
1 |
Digits これは、\ {0、1、2、3、4、5、6、6、7、8、9}の整数のセットです。 |
2 |
Hexadecimal digits これは\ {0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f}のセットです。 |
3 |
Lowercase letters これは一連の小文字\ {a b c d e f g h i j k l m n o p q r s t u v w x y z}です。 |
4 |
Uppercase letters これは、大文字のセット\ {A B C D E F G H I J K L M N O P Q R S T U V W X Y Z}です。 |
5 |
Letters これは、小文字と大文字のセットです。 |
6 |
Alphanumeric characters これは、数字、小文字、および大文字のセットです。 |
7 |
Punctuation characters これはセットです! "#$%/:; <⇒? @ [\] ^ _ `\ { |
}〜 | 8 |
Graphical characters これは、英数字と句読点のセットです。 |
9 |
Space characters これは、タブ、改行、垂直タブ、フォームフィード、キャリッジリターン、およびスペースのセットです。 |
10 |
Printable characters これは、英数字、句読点、およびスペース文字のセットです。 |
11 |
Control characters ASCIIでは、これらの文字は8進コード000〜037、および177(DEL)を持ちます。 |
12 |
Blank characters これらはスペースとタブです。 |
13 |
Cライブラリ-<errno.h>
C標準ライブラリの errno.h ヘッダーファイルは、整数変数 errno を定義します。これは、エラーが発生した場合にシステムコールと一部のライブラリ関数によって設定され、何が問題であったかを示します。 このマクロはint型の変更可能な左辺値に展開されるため、プログラムで読み取りと変更の両方が可能です。
*errno* は、プログラムの起動時にゼロに設定されます。 標準Cライブラリの特定の関数は、値をゼロ以外に変更して、いくつかのタイプのエラーを通知します。 また、必要に応じて値を変更したり、ゼロにリセットしたりできます。
*errno.h* ヘッダーファイルは、さまざまなエラーコードを示すマクロのリストも定義します。これは、 *int* 型の整数定数式に展開されます。
ライブラリマクロ
ヘッダーerrno.hで定義されているマクロは次のとおりです-
Sr.No. | Macro & Description |
---|---|
1 |
これは、エラーが発生した場合に、システムコールといくつかのライブラリ関数によって設定されたマクロであり、エラーの原因を示します。 |
2 |
このマクロは、入力引数がドメインの外側にある場合に発生するドメインエラーを表します。ドメイン外では、数学関数が定義され、errnoがEDOMに設定されます。 |
3 |
このマクロは、入力引数が範囲外にある場合に発生する範囲エラーを表します。この範囲を超えると、数学関数が定義され、errnoがERANGEに設定されます。 |
Cライブラリ-<float.h>
C標準ライブラリの float.h ヘッダーファイルには、浮動小数点値に関連するさまざまなプラットフォーム依存定数のセットが含まれています。 これらの定数は、ANSI Cによって提案されています。 よりポータブルなプログラムを作成できます。 すべての定数をチェックする前に、浮動小数点数は次の4つの要素で構成されていることを理解するのが良いです-
Sr.No. | Component & Component Description |
---|---|
1 |
S 記号(+/-) |
2 |
b 指数表現の基数または基数、2は2、10は10、16は16などです… |
3 |
e 指数、最小* e〜min〜と最大 e〜max〜*の間の整数。 |
4 |
p 精度、仮数の基数bの桁数。 |
上記の4つのコンポーネントに基づいて、浮動小数点の値は次のようになります-
floating-point = ( S ) p x be
or
floating-point = (+/-) precision x baseexponent
ライブラリマクロ
次の値は実装固有であり、#defineディレクティブで定義されていますが、これらの値はここで指定されている値よりも低くなることはありません。 すべてのインスタンスで、FLTは float 型を指し、DBLは double を指し、LDBLは long double を指します。
Sr.No. | Macro & Description |
---|---|
1 |
FLT_ROUNDS 浮動小数点加算の丸めモードを定義し、次の値のいずれかを持つことができます-
|
2 |
これは、指数の基本基数表現を定義します。 2進数は2進数、10進数は通常の10進数表現、16進数は16進数です。 |
3 |
FLT_MANT_DIG
これらのマクロは、数値の桁数を定義します(FLT_RADIXベース)。 |
4 |
FLT_DIG 6
これらのマクロは、丸め後に変更せずに表現できる10進数の最大数(10進数)を定義します。 |
5 |
FLT_MIN_EXP
これらのマクロは、ベースFLT_RADIXの指数の最小の負の整数値を定義します。 |
6 |
FLT_MIN_10_EXP -37
これらのマクロは、10を底とする指数の最小の負の整数値を定義します。 |
7 |
FLT_MAX_EXP
これらのマクロは、ベースFLT_RADIXの指数の最大整数値を定義します。 |
8 |
FLT_MAX_10_EXP +37
これらのマクロは、10を底とする指数の最大整数値を定義します。 |
9 |
FLT_MAX 1E+37
これらのマクロは、最大有限浮動小数点値を定義します。 |
10 |
FLT_EPSILON 1E-5
これらのマクロは、表現可能な最下位桁を定義します。 |
11 |
FLT_MIN 1E-37
これらのマクロは、最小浮動小数点値を定義します。 |
例
次の例は、float.hファイルで定義されているいくつかの定数の使用法を示しています。
#include <stdio.h>
#include <float.h>
int main () {
printf("The maximum value of float = %.10e\n", FLT_MAX);
printf("The minimum value of float = %.10e\n", FLT_MIN);
printf("The number of digits in the number = %.10e\n", FLT_MANT_DIG);
}
次の結果を生成する上記のプログラムをコンパイルして実行しましょう-
The maximum value of float = 3.4028234664e+38
The minimum value of float = 1.1754943508e-38
The number of digits in the number = 7.2996655210e-312
Cライブラリ-<limits.h>
*limits.h* ヘッダーは、さまざまな変数タイプのさまざまなプロパティを決定します。 このヘッダーで定義されているマクロは、char、int、longなどのさまざまな変数タイプの値を制限します。
これらの制限は、変数がこれらの制限を超える値を格納できないことを指定します。たとえば、符号なし文字は最大値255まで格納できます。
ライブラリマクロ
次の値は実装固有であり、#defineディレクティブで定義されていますが、これらの値はここで指定されている値よりも低くなることはありません。
Macro | Value | Description |
---|---|---|
CHAR_BIT | 8 | Defines the number of bits in a byte. |
SCHAR_MIN | -128 | Defines the minimum value for a signed char. |
SCHAR_MAX | +127 | Defines the maximum value for a signed char. |
UCHAR_MAX | 255 | Defines the maximum value for an unsigned char. |
CHAR_MIN | -128 | Defines the minimum value for type char and its value will be equal to SCHAR_MIN if char represents negative values, otherwise zero. |
CHAR_MAX | +127 | Defines the value for type char and its value will be equal to SCHAR_MAX if char represents negative values, otherwise UCHAR_MAX. |
MB_LEN_MAX | 16 | Defines the maximum number of bytes in a multi-byte character. |
SHRT_MIN | -32768 | Defines the minimum value for a short int. |
SHRT_MAX | +32767 | Defines the maximum value for a short int. |
USHRT_MAX | 65535 | Defines the maximum value for an unsigned short int. |
INT_MIN | -2147483648 | Defines the minimum value for an int. |
INT_MAX | +2147483647 | Defines the maximum value for an int. |
UINT_MAX | 4294967295 | Defines the maximum value for an unsigned int. |
LONG_MIN | -9223372036854775808 | Defines the minimum value for a long int. |
LONG_MAX | +9223372036854775807 | Defines the maximum value for a long int. |
ULONG_MAX | 18446744073709551615 | Defines the maximum value for an unsigned long int. |
例
次の例は、 limits.h ファイルで定義されているいくつかの定数の使用法を示しています。
#include <stdio.h>
#include <limits.h>
int main() {
printf("The number of bits in a byte %d\n", CHAR_BIT);
printf("The minimum value of SIGNED CHAR = %d\n", SCHAR_MIN);
printf("The maximum value of SIGNED CHAR = %d\n", SCHAR_MAX);
printf("The maximum value of UNSIGNED CHAR = %d\n", UCHAR_MAX);
printf("The minimum value of SHORT INT = %d\n", SHRT_MIN);
printf("The maximum value of SHORT INT = %d\n", SHRT_MAX);
printf("The minimum value of INT = %d\n", INT_MIN);
printf("The maximum value of INT = %d\n", INT_MAX);
printf("The minimum value of CHAR = %d\n", CHAR_MIN);
printf("The maximum value of CHAR = %d\n", CHAR_MAX);
printf("The minimum value of LONG = %ld\n", LONG_MIN);
printf("The maximum value of LONG = %ld\n", LONG_MAX);
return(0);
}
次の結果を生成する上記のプログラムをコンパイルして実行しましょう-
The maximum value of UNSIGNED CHAR = 255
The minimum value of SHORT INT = -32768
The maximum value of SHORT INT = 32767
The minimum value of INT = -2147483648
The maximum value of INT = 2147483647
The minimum value of CHAR = -128
The maximum value of CHAR = 127
The minimum value of LONG = -9223372036854775808
The maximum value of LONG = 9223372036854775807
Cライブラリ-<locale.h>
*locale.h* ヘッダーは、日付形式や通貨記号などの場所固有の設定を定義します。 重要な構造 *struct lconv* および以下にリストする2つの重要な関数とともに定義されたいくつかのマクロがあります。
ライブラリマクロ
以下は、ヘッダーで定義されているマクロであり、これらのマクロは、以下にリストされている2つの関数で使用されます-
Sr.No. | Macro & Description |
---|---|
1 |
LC_ALL すべてを設定します。 |
2 |
LC_COLLATE strcollおよびstrxfrm関数に影響します。 |
3 |
LC_CTYPE すべてのキャラクター機能に影響します。 |
4 |
LC_MONETARY localeconv関数によって提供される通貨情報に影響します。 |
5 |
LC_NUMERIC 小数点のフォーマットと、localeconv関数によって提供される情報に影響します。 |
6 |
LC_TIME strftime関数に影響します。 |
ライブラリ関数
以下は、ヘッダーlocale.hで定義されている関数です-
Sr.No. | Function & Description |
---|---|
1 |
char *setlocale(int category, const char *locale) ロケーション依存情報を設定または読み取ります。 |
2 |
struct lconv *localeconv(void) ロケーション依存情報を設定または読み取ります。 |
ライブラリー構造
typedef struct {
char *decimal_point;
char *thousands_sep;
char *grouping;
char *int_curr_symbol;
char *currency_symbol;
char *mon_decimal_point;
char *mon_thousands_sep;
char *mon_grouping;
char *positive_sign;
char *negative_sign;
char int_frac_digits;
char frac_digits;
char p_cs_precedes;
char p_sep_by_space;
char n_cs_precedes;
char n_sep_by_space;
char p_sign_posn;
char n_sign_posn;
} lconv
以下は、各フィールドの説明です-
Sr.No. | Field & Description |
---|---|
1 |
decimal_point 金額以外の値に使用される小数点文字。 |
2 |
thousands_sep 金額以外の値に使用される数千桁の区切り文字。 |
3 |
grouping 非通貨数量の数字の各グループのサイズを示す文字列。 各文字は整数値を表し、現在のグループの桁数を指定します。 値0は、以前の値が残りのグループに使用されることを意味します。 |
4 |
int_curr_symbol 使用される国際通貨記号の文字列です。 最初の3文字はISO 4217:1987で指定された文字で、4番目は通貨記号と通貨数量を区切る文字です。 |
5 |
currency_symbol 通貨に使用されるローカルシンボル。 |
6 |
mon_decimal_point 金額に使用される小数点文字。 |
7 |
mon_thousands_sep 金額に使用される千の位のグループ化文字。 |
8 |
mon_grouping 要素が金額の数字のグループ化のサイズを定義する文字列。 各文字は、現在のグループの桁数を指定する整数値を表します。 値0は、以前の値が残りのグループに使用されることを意味します。 |
9 |
positive_sign 正の金額に使用される文字。 |
10 |
negative_sign 負の通貨値に使用される文字。 |
11 |
int_frac_digits 国際通貨値の小数点の後に表示する桁数。 |
12 |
frac_digits 金額の小数点以下に表示する桁数。 |
13 |
p_cs_precedes 1に等しい場合、currency_symbolは正の金額の前に表示されます。 0に等しい場合、currency_symbolは正の金額の後に表示されます。 |
14 |
p_sep_by_space 1に等しい場合、currency_symbolは正の通貨値からスペースで区切られます。 0に等しい場合、currency_symbolと正の通貨値の間にスペースはありません。 |
15 |
n_cs_precedes 1に等しい場合、currency_symbolは負の通貨値の前になります。 0に等しい場合、currency_symbolは負の金額を引き継ぎます。 |
16 |
n_sep_by_space 1に等しい場合、currency_symbolは負の通貨値からスペースで区切られます。 0に等しい場合、currency_symbolと負の通貨値の間にスペースはありません。 |
17 |
p_sign_posn 正の通貨値でのpositive_signの位置を表します。 |
18 |
n_sign_posn 負の通貨値でのnegative_signの位置を表します。 |
次の値は p_sign_posn および n_sign_posn に使用されます-
Value | Description |
---|---|
0 | Parentheses encapsulates the value and the currency_symbol. |
1 | The sign precedes the value and currency_symbol. |
2 | The sign succeeds the value and currency_symbol. |
3 | The sign immediately precedes the value and currency_symbol. |
4 | The sign immediately succeeds the value and currency_symbol. |
Cライブラリ-<math.h>
*math.h* ヘッダーは、さまざまな数学関数と1つのマクロを定義します。 このライブラリで利用可能なすべての関数は、引数として *double* を取り、結果として *double* を返します。
ライブラリマクロ
このライブラリにはマクロが1つだけ定義されています-
Sr.No. | Macro & Description |
---|---|
1 |
HUGE_VAL このマクロは、関数の結果が浮動小数点数として表現できない場合に使用されます。 正しい結果の大きさが大きすぎて表現できない場合、関数はerrnoをERANGEに設定して範囲エラーを示し、マクロHUGE_VALまたはその否定(-HUGE_VAL)で指定された特定の非常に大きな値を返します。 結果の大きさが小さすぎる場合、代わりにゼロの値が返されます。 この場合、errnoはERANGEに設定される場合とされない場合があります。 |
ライブラリ関数
以下は、ヘッダーmath.hで定義されている機能です-
Sr.No. | Function & Description |
---|---|
1 |
ラジアンでxのアークコサインを返します。 |
2 |
ラジアンでxの逆正弦を返します。 |
3 |
ラジアンでxのアークタンジェントを返します。 |
4 |
double atan2(double y, double x) 正しい象限を決定するために、両方の値の符号に基づいてy/xのラジアンでアークタンジェントを返します。 |
5 |
ラジアン角度xの余弦を返します。 |
6 |
xの双曲線余弦を返します。 |
7 |
ラジアン角xのサインを返します。 |
8 |
xの双曲線正弦を返します。 |
9 |
xの双曲線正接を返します。 |
10 |
|
11 |
double frexp(double x, int *exponent) 返される値は仮数で、exponentが指す整数は指数です。 結果の値は、x =仮数* 2 ^指数です。 |
12 |
double ldexp(double x, int exponent)
|
13 |
|
14 |
|
15 |
double modf(double x, double *integer) 返される値は小数部分(小数の後の部分)であり、integerを整数部分に設定します。 |
16 |
double pow(double x, double y) xの y 乗を返します。 |
17 |
|
18 |
|
19 |
|
20 |
|
21 |
double fmod(double x, double y) xを y で割った余りを返します。 |
Cライブラリ-<setjmp.h>
*setjmp.h* ヘッダーは、マクロ* setjmp()*、1つの関数* longjmp()*、および1つの変数タイプ *jmp_buf* を定義して、通常の関数呼び出しをバイパスし、規律を返します。
ライブラリー変数
以下は、ヘッダーsetjmp.hで定義されている変数タイプです-
Sr.No. | Variable & Description |
---|---|
1 |
jmp_buf これは、マクロ* setjmp()および関数 longjmp()*の情報を保持するために使用される配列型です。 |
ライブラリマクロ
このライブラリにはマクロが1つだけ定義されています-
Sr.No. | Macro & Description |
---|---|
1 |
int setjmp(jmp_buf environment) このマクロは、後で関数* longjmp()が使用できるように、現在の_environment_を変数 *environment に保存します。 このマクロがマクロ呼び出しから直接戻る場合、ゼロを返しますが、* longjmp()*関数呼び出しから戻る場合、ゼロ以外の値が返されます。 |
ライブラリ関数
以下は、ヘッダーsetjmp.hで定義されている唯一の関数です-
Sr.No. | Function & Description |
---|---|
1 |
void longjmp(jmp_buf environment, int value) この関数は、対応する jmp_buf 引数を使用したプログラムの同じ呼び出しで、* setjmp()*マクロの最新の呼び出しによって保存された環境を復元します。 |
Cライブラリ-<signal.h>
*signal.h* ヘッダーは、変数タイプ *sig_atomic_t* 、2つの関数呼び出し、およびプログラムの実行中に報告されるさまざまな信号を処理するためのいくつかのマクロを定義します。
ライブラリー変数
以下は、ヘッダーsignal.hで定義されている変数タイプです-
Sr.No. | Variable & Description |
---|---|
1 |
sig_atomic_t これは int 型で、シグナルハンドラーの変数として使用されます。 これは、非同期信号が存在する場合でも、アトミックエンティティとしてアクセスできるオブジェクトの不可欠なタイプです。 |
ライブラリマクロ
ヘッダーsignal.hで定義されているマクロは次のとおりです。これらのマクロは、以下にリストする2つの関数で使用されます。 SIG_ マクロは、シグナル関数と一緒に使用してシグナル関数を定義します。
Sr.No. | Macro & Description |
---|---|
1 |
SIG_DFL デフォルトのシグナルハンドラ。 |
2 |
SIG_ERR 信号エラーを表します。 |
3 |
SIG_IGN シグナル無視。 |
*SIG* マクロは、次の条件で信号番号を表すために使用されます-
Sr.No. | Macro & Description |
---|---|
1 |
SIGABRT プログラムの異常終了。 |
2 |
SIGFPE ゼロ除算のような浮動小数点エラー。 |
3 |
SIGILL 違法な操作。 |
4 |
SIGINT ctrl-Cなどの割り込み信号。 |
5 |
SIGSEGV セグメント違反などのストレージへの無効なアクセス。 |
6 |
SIGTERM 終了リクエスト。 |
ライブラリ関数
以下は、ヘッダーsignal.hで定義されている関数です-
Sr.No. | Function & Description |
---|---|
1 |
void (*signal(int sig, void (*func)(int)))(int) この関数は、信号を処理する関数を設定します。 シグナルハンドラ。 |
2 |
この関数により、シグナル sig が生成されます。 sig引数はSIGマクロと互換性があります。 |
Cライブラリ-<stdarg.h>
*stdarg.h* ヘッダーは、変数タイプ *va_list* と、引数の数がわからない場合に関数の引数を取得するために使用できる3つのマクロを定義します。 可変個の引数。
可変引数の関数は、パラメーターリストの末尾に省略記号(、…)を付けて定義されます。
ライブラリー変数
以下は、ヘッダーstdarg.hで定義されている変数タイプです-
Sr.No. | Variable & Description |
---|---|
1 |
va_list これは、3つのマクロ* va_start()、va_arg()、および va_end()*が必要とする情報を保持するのに適したタイプです。 |
ライブラリマクロ
以下は、ヘッダーstdarg.hで定義されているマクロです-
Sr.No. | Macro & Description |
---|---|
1 |
void va_start(va_list ap, last_arg) このマクロは、 va_arg および va_end マクロで使用される ap 変数を初期化します。 last_arg は、関数に渡される最後の既知の固定引数です。 省略記号の前の引数。 |
2 |
このマクロは、タイプ type の関数のパラメーターリスト内の次の引数を取得します。 |
3 |
このマクロを使用すると、 va_start マクロを使用して変数引数を返す関数を返すことができます。 関数から戻る前に va_end が呼び出されない場合、結果は未定義です。 |
Cライブラリ-<stddef.h>
*stddef.h* ヘッダーは、さまざまな変数タイプとマクロを定義します。 これらの定義の多くは、他のヘッダーにも表示されます。
ライブラリー変数
以下は、ヘッダーstddef.hで定義されている変数タイプです-
Sr.No. | Variable & Description |
---|---|
1 |
ptrdiff_t これは符号付き整数型であり、2つのポインターを減算した結果です。 |
2 |
size_t これは符号なし整数型であり、 sizeof キーワードの結果です。 |
3 |
wchar_t これは、ワイド文字定数のサイズの整数型です。 |
ライブラリマクロ
以下は、ヘッダーstddef.hで定義されているマクロです-
Sr.No. | Macro & Description |
---|---|
1 |
このマクロは、ヌルポインター定数の値です。 |
2 |
offsetof(type, member-designator) これにより、構造体の先頭からの構造体メンバーのバイト単位のオフセットであるsize_t型の定数整数が生成されます。 メンバーは_member-designator_で指定され、構造の名前は_type_で指定されます。 |
Cライブラリ-<stdio.h>
*stdio.h* ヘッダーは、3つの変数タイプ、いくつかのマクロ、および入出力を実行するためのさまざまな関数を定義します。
ライブラリー変数
ヘッダーstdio.hで定義されている変数タイプは次のとおりです-
Sr.No. | Variable & Description |
---|---|
1 |
size_t これは符号なし整数型であり、 sizeof キーワードの結果です。 |
2 |
FILE これは、ファイルストリームの情報を保存するのに適したオブジェクトタイプです。 |
3 |
fpos_t これは、ファイル内の任意の位置を格納するのに適したオブジェクトタイプです。 |
ライブラリマクロ
ヘッダーstdio.hで定義されているマクロは次のとおりです-
Sr.No. | Macro & Description |
---|---|
1 |
NULL このマクロは、ヌルポインター定数の値です。 |
2 |
_IOFBF, _IOLBF *and _IONBF* これらは、異なる値を持つ整数定数式に展開され、 setvbuf 関数の3番目の引数として使用するのに適したマクロです。 |
3 |
BUFSIZ このマクロは整数で、 setbuf 関数で使用されるバッファーのサイズを表します。 |
4 |
EOF このマクロは負の整数で、ファイルの終わりに到達したことを示します。 |
5 |
FOPEN_MAX このマクロは整数であり、システムが同時に開くことを保証できるファイルの最大数を表します。 |
6 |
FILENAME_MAX このマクロは整数で、可能な限り長いファイル名を保持するのに適したchar配列の最長の長さを表します。 実装が制限を課さない場合、この値は推奨最大値である必要があります。 |
7 |
L_tmpnam このマクロは整数です。これは、 tmpnam 関数によって作成される可能な限り長い一時ファイル名を保持するのに適したchar配列の最長の長さを表します。 |
8 |
SEEK_CUR, SEEK_END, *and SEEK_SET* これらのマクロは、ファイル内のさまざまな位置を見つけるために fseek 関数で使用されます。 |
9 |
TMP_MAX このマクロは、関数 tmpnam が生成できる一意のファイル名の最大数です。 |
10 |
stderr, stdin, *and stdout* これらのマクロは、標準エラー、標準入力、および標準出力ストリームに対応するFILEタイプへのポインターです。 |
ライブラリ関数
以下は、ヘッダーstdio.hで定義されている機能です-
'_最初の関数で作成されたファイルは後続の関数で使用されるため、理解を深め、 Try it (オンラインコンパイラー)オプションを使用するには、同じ関数シーケンスに従います。_
Sr.No. | Function & Description |
---|---|
1 |
ストリームを閉じます。 すべてのバッファがフラッシュされます。 |
2 |
指定されたストリームのファイルの終わりとエラーのインジケータをクリアします。 |
3 |
指定されたストリームのファイル終了インジケータをテストします。 |
4 |
指定されたストリームのエラーインジケータをテストします。 |
5 |
ストリームの出力バッファーをフラッシュします。 |
6 |
int fgetpos(FILE *stream, fpos_t *pos) ストリームの現在のファイル位置を取得し、posに書き込みます。 |
7 |
FILE *fopen(const char *filename, const char *mode) 指定されたモードを使用して、filenameが指すファイル名を開きます。 |
8 |
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) 指定されたストリームからptrが指す配列にデータを読み取ります。 |
9 |
FILE *freopen(const char *filename, const char *mode, FILE *stream) 新しいファイル名を指定されたオープンストリームに関連付け、同時にストリーム内の古いファイルを閉じます。 |
10 |
int fseek(FILE *stream, long int offset, int whence) ストリームのファイル位置を指定されたオフセットに設定します。 引数_offset_は、指定された_whence_位置からシークするバイト数を示します。 |
11 |
int fsetpos(FILE *stream, const fpos_t *pos) 指定されたストリームのファイル位置を指定された位置に設定します。 引数_pos_は、関数fgetposによって指定される位置です。 |
12 |
指定されたストリームの現在のファイル位置を返します。 |
13 |
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream) ptrが指す配列から指定されたストリームにデータを書き込みます。 |
14 |
int remove(const char *filename) 指定されたファイル名を削除して、アクセスできないようにします。 |
15 |
int rename(const char *old_filename, const char *new_filename) old_filenameによって参照されるファイル名をnew_filenameに変更します。 |
16 |
ファイル位置を、指定されたストリームのファイルの先頭に設定します。 |
17 |
void setbuf(FILE *stream, char *buffer) ストリームのバッファリング方法を定義します。 |
18 |
int setvbuf(FILE *stream, char *buffer, int mode, size_t size) ストリームのバッファリング方法を定義する別の関数。 |
19 |
バイナリ更新モード(wb +)で一時ファイルを作成します。 |
20 |
存在しない有効な一時ファイル名を生成して返します。 |
21 |
int fprintf(FILE *stream, const char *format, …) フォーマットされた出力をストリームに送信します。 |
22 |
int printf(const char *format, …) フォーマット済みの出力をstdoutに送信します。 |
23 |
int sprintf(char *str, const char *format, …) フォーマットされた出力を文字列に送信します。 |
24 |
int vfprintf(FILE *stream, const char *format, va_list arg) 引数リストを使用して、フォーマットされた出力をストリームに送信します。 |
25 |
int vprintf(const char *format, va_list arg) 引数リストを使用して、フォーマットされた出力をstdoutに送信します。 |
26 |
int vsprintf(char *str, const char *format, va_list arg) 引数リストを使用して、フォーマットされた出力を文字列に送信します。 |
27 |
int fscanf(FILE *stream, const char *format, …) ストリームからフォーマットされた入力を読み取ります。 |
28 |
int scanf(const char *format, …) stdinからフォーマットされた入力を読み取ります。 |
29 |
int sscanf(const char *str, const char *format, …) 文字列からフォーマットされた入力を読み取ります。 |
30 |
指定されたストリームから次の文字(符号なし文字)を取得し、ストリームの位置インジケーターを進めます。 |
31 |
char *fgets(char *str, int n, FILE *stream) 指定されたストリームから行を読み取り、strが指す文字列に格納します。 (n-1)文字が読み取られたとき、改行文字が読み取られたとき、またはファイルの終わりに達したときのいずれか早い方で停止します。 |
32 |
int fputc(int char, FILE *stream) 引数charで指定された文字(符号なしchar)を指定されたストリームに書き込み、ストリームの位置インジケータを進めます。 |
33 |
int fputs(const char *str, FILE *stream) 指定されたストリームに、ヌル文字を含まない文字列を書き込みます。 |
34 |
指定されたストリームから次の文字(符号なし文字)を取得し、ストリームの位置インジケーターを進めます。 |
35 |
標準入力から文字(符号なし文字)を取得します。 |
36 |
stdinから行を読み取り、strが指す文字列に格納します。 改行文字が読み取られたとき、またはファイルの終わりに達したときのいずれか早い方で停止します。 |
37 |
int putc(int char, FILE *stream) 引数charで指定された文字(符号なしchar)を指定されたストリームに書き込み、ストリームの位置インジケータを進めます。 |
38 |
引数charで指定された文字(符号なしchar)をstdoutに書き込みます。 |
39 |
ヌル文字を含まない文字列をstdoutに書き込みます。 改行文字が出力に追加されます。 |
40 |
int ungetc(int char, FILE *stream) 文字char(符号なしchar)を指定されたストリームにプッシュして、次の文字が読み取られるようにします。 |
41 |
記述的なエラーメッセージをstderrに出力します。 最初に文字列strが出力され、その後にコロン、スペースが続きます。 |
Cライブラリ-<stdlib.h>
*stdlib.h* ヘッダーは、4つの変数タイプ、いくつかのマクロ、および一般的な機能を実行するためのさまざまな機能を定義します。
ライブラリー変数
ヘッダーstdlib.hで定義されている変数タイプは次のとおりです-
Sr.No. | Variable & Description |
---|---|
1 |
size_t これは符号なし整数型であり、 sizeof キーワードの結果です。 |
2 |
wchar_t これは wide 文字定数のサイズの整数型です。 |
3 |
div_t これは、 div 関数によって返される構造です。 |
4 |
ldiv_t これは、 ldiv 関数によって返される構造です。 |
ライブラリマクロ
以下は、ヘッダーstdlib.hで定義されているマクロです-
Sr.No. | Macro & Description |
---|---|
1 |
NULL このマクロは、ヌルポインター定数の値です。 |
2 |
EXIT_FAILURE これは、失敗した場合に返すexit関数の値です。 |
3 |
EXIT_SUCCESS これは、成功した場合に返すexit関数の値です。 |
4 |
RAND_MAX このマクロは、rand関数によって返される最大値です。 |
5 |
MB_CUR_MAX このマクロは、マルチバイト文字セットの最大バイト数であり、MB_LEN_MAXより大きくすることはできません。 |
ライブラリ関数
以下は、ヘッダーstlib.hで定義されている機能です-
Sr.No. | Function & Description |
---|---|
1 |
引数_str_が指す文字列を浮動小数点数(double型)に変換します。 |
2 |
引数_str_が指す文字列を整数(int型)に変換します。 |
3 |
long int atol(const char *str) 引数_str_が指す文字列を長整数(long int型)に変換します。 |
4 |
double strtod(const char *str, char **endptr) 引数_str_が指す文字列を浮動小数点数(double型)に変換します。 |
5 |
long int strtol(const char *str, char **endptr, int base) 引数_str_が指す文字列を長整数(long int型)に変換します。 |
6 |
unsigned long int strtoul(const char *str, char **endptr, int base) 引数_str_が指す文字列を符号なしlong整数(unsigned long int型)に変換します。 |
7 |
void *calloc(size_t nitems, size_t size) 要求されたメモリを割り当て、それへのポインタを返します。 |
8 |
calloc、malloc、、または_realloc_の呼び出しによって以前に割り当てられたメモリの割り当てを解除します。 |
9 |
要求されたメモリを割り当て、それへのポインタを返します。 |
10 |
void *realloc(void *ptr, size_t size) _malloc_または_calloc_の呼び出しで以前に割り当てられたptrが指すメモリブロックのサイズを変更しようとします。 |
11 |
プログラムの異常終了を引き起こします。 |
12 |
int atexit(void (*func)(void)) プログラムが正常に終了したときに、指定された関数 func が呼び出されます。 |
13 |
プログラムを正常に終了させます。 |
14 |
char *getenv(const char *name) 名前が指す環境文字列を検索し、関連する値を文字列に返します。 |
15 |
int system(const char *string) stringで指定されたコマンドは、ホスト環境に渡され、コマンドプロセッサによって実行されます。 |
16 |
バイナリ検索を実行します。 |
17 |
配列をソートします。 |
18 |
xの絶対値を返します。 |
19 |
div_t div(int numer, int denom) 分子(分子)を分母(分母)で除算します。 |
20 |
xの絶対値を返します。 |
21 |
ldiv_t ldiv(long int numer, long int denom) 分子(分子)を分母(分母)で除算します。 |
22 |
0から_RAND_MAX_の範囲の擬似乱数を返します。 |
23 |
この関数は、関数 rand が使用する乱数ジェネレーターをシードします。 |
24 |
int mblen(const char *str, size_t n) 引数_str_が指すマルチバイト文字の長さを返します。 |
25 |
size_t mbstowcs(schar_t *pwcs, const char *str, size_t n) 引数_str_が指すマルチバイト文字の文字列を、_pwcs_が指す配列に変換します。 |
26 |
int mbtowc(whcar_t *pwc, const char *str, size_t n) 引数_str_が指すマルチバイト文字を調べます。 |
27 |
size_t wcstombs(char *str, const wchar_t *pwcs, size_t n) 配列_pwcs_に格納されているコードをマルチバイト文字に変換し、文字列_str_に格納します。 |
28 |
int wctomb(char *str, wchar_t wchar) 引数_wchar_で指定されたマルチバイト文字に対応するコードを調べます。 |
Cライブラリ-<string.h>
*string.h* ヘッダーは、1つの変数タイプ、1つのマクロ、および文字の配列を操作するためのさまざまな関数を定義します。
ライブラリー変数
以下は、ヘッダーstring.hで定義されている変数タイプです-
Sr.No. | Variable & Description |
---|---|
1 |
size_t これは符号なし整数型であり、 sizeof キーワードの結果です。 |
ライブラリマクロ
以下は、ヘッダーstring.hで定義されているマクロです-
Sr.No. | Macro & Description |
---|---|
1 |
NULL このマクロは、ヌルポインター定数の値です。 |
ライブラリ関数
以下は、ヘッダーstring.hで定義されている機能です-
Sr.No. | Function & Description |
---|---|
1 |
void *memchr(const void *str, int c, size_t n) 引数_str_によって、ポイントされた文字列の最初のnバイトにある文字c(符号なし文字)の最初の出現を検索します。 |
2 |
int memcmp(const void *str1, const void *str2, size_t n) _str1_と_str2_の最初のnバイトを比較します。 |
3 |
void *memcpy(void *dest, const void *src, size_t n) srcから_dest_にn文字をコピーします。 |
4 |
void *memmove(void *dest, const void *src, size_t n) _str2_から_str1_にn文字をコピーする別の関数。 |
5 |
void *memset(void *str, int c, size_t n) 引数_str_によって、ポイントされた文字列の最初のn文字に文字c(符号なし文字)をコピーします。 |
6 |
char *strcat(char *dest, const char *src) _src_が指す文字列を、_dest_が指す文字列の末尾に追加します。 |
7 |
char *strncat(char *dest, const char *src, size_t n) _src_が指す文字列を、_dest_が指す文字列の末尾に、n文字まで追加します。 |
8 |
char *strchr(const char *str, int c) 引数_str_によって、ポイントされた文字列内の文字c(符号なし文字)の最初の出現を検索します。 |
9 |
int strcmp(const char *str1, const char *str2) _str1_が指す文字列を、_str2_が指す文字列と比較します。 |
10 |
int strncmp(const char *str1, const char *str2, size_t n) _str1_および_str2_の最大で最初のnバイトを比較します。 |
11 |
int strcoll(const char *str1, const char *str2) 文字列_str1_を_str2_と比較します。 結果は、場所のLC_COLLATE設定に依存します。 |
12 |
char *strcpy(char *dest, const char *src) _src_が指すストリングを_dest_にコピーします。 |
13 |
char *strncpy(char *dest, const char *src, size_t n) _src_が指す文字列から_dest_に最大n文字をコピーします。 |
14 |
size_t strcspn(const char *str1, const char *str2) str2にない文字のみで構成されるstr1の初期セグメントの長さを計算します。 |
15 |
エラー番号errnumの内部配列を検索し、エラーメッセージ文字列へのポインターを返します。 |
16 |
size_t strlen(const char *str) 文字列strの長さを計算しますが、終端のヌル文字は含まれません。 |
17 |
char *strpbrk(const char *str1, const char *str2) _str2_で指定された文字と一致する文字列_str1_の最初の文字を検索します。 |
18 |
char *strrchr(const char *str, int c) 引数_str_が指す文字列内で最後に出現した文字c(符号なし文字)を検索します。 |
19 |
size_t strspn(const char *str1, const char *str2) 完全に_str2_の文字で構成される_str1_の初期セグメントの長さを計算します。 |
20 |
char *strstr(const char *haystack, const char *needle) 文字列_haystack_に現れる文字列_needle_全体(終端のヌル文字を含まない)の最初の出現箇所を見つけます。 |
21 |
char *strtok(char *str, const char *delim) 文字列_str_を、_delim_で区切られた一連のトークンに分割します。 |
22 |
size_t strxfrm(char *dest, const char *src, size_t n) 文字列 src の最初の n 文字を現在のロケールに変換し、文字列 dest に配置します。 |
Cライブラリ-<time.h>
*time.h* ヘッダーは、4つの変数タイプ、2つのマクロ、および日付と時刻を操作するためのさまざまな関数を定義します。
ライブラリー変数
以下は、ヘッダーtime.hで定義されている変数タイプです-
Sr.No. | Variable & Description |
---|---|
1 |
size_t これは符号なし整数型であり、 sizeof キーワードの結果です。 |
2 |
clock_t これは、プロセッサー時間の保管に適したタイプです。 |
3 |
time_t is これは、カレンダーの時刻を保存するのに適したタイプです。 |
4 |
struct tm これは、時刻と日付を保持するために使用される構造です。 |
tm構造には次の定義があります-
struct tm {
int tm_sec; /*seconds, range 0 to 59 */
int tm_min; /*minutes, range 0 to 59 */
int tm_hour; /*hours, range 0 to 23 */
int tm_mday; /*day of the month, range 1 to 31 */
int tm_mon; /*month, range 0 to 11 */
int tm_year; /*The number of years since 1900 */
int tm_wday; /*day of the week, range 0 to 6 */
int tm_yday; /*day in the year, range 0 to 365 */
int tm_isdst; /*daylight saving time */
};
ライブラリマクロ
以下は、ヘッダーtime.hで定義されているマクロです-
Sr.No. | Macro & Description |
---|---|
1 |
NULL このマクロは、ヌルポインター定数の値です。 |
2 |
CLOCKS_PER_SEC このマクロは、1秒あたりのプロセッサクロックの数を表します。 |
ライブラリ関数
以下は、ヘッダーtime.hで定義されている機能です-
Sr.No. | Function & Description |
---|---|
1 |
char *asctime(const struct tm *timeptr) 構造体timeptrの日時を表す文字列へのポインターを返します。 |
2 |
実装定義時代(通常はプログラムの開始)の開始以降に使用されたプロセッサクロック時間を返します。 |
3 |
char *ctime(const time_t *timer) 引数タイマーに基づいてローカル時間を表す文字列を返します。 |
4 |
double difftime(time_t time1, time_t time2) time1とtime2(time1-time2)の秒の差を返します。 |
5 |
struct tm *gmtime(const time_t *timer) タイマーの値は構造体tmに分割され、グリニッジ標準時(GMT)とも呼ばれる協定世界時(UTC)で表されます。 |
6 |
struct tm *localtime(const time_t *timer) timerの値は構造体tmに分割され、ローカルタイムゾーンで表されます。 |
7 |
time_t mktime(struct tm *timeptr) timeptrが指す構造体をローカルタイムゾーンに従ってtime_t値に変換します。 |
8 |
size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr) formatで定義され、strに格納されているフォーマット規則に従って、構造timeptrで表される時間をフォーマットします。 |
9 |
現在のカレンダー時間を計算し、それをtime_t形式にエンコードします。 |