C-standard-library-quick-guide

提供:Dev Guides
移動先:案内検索

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

void assert(int expression)

これは実際にはマクロであり、関数ではなく、Cプログラムに診断を追加するために使用できます。

Cライブラリ-<ctype.h>

C標準ライブラリの ctype.h ヘッダーファイルは、文字のテストとマッピングに役立ついくつかの関数を宣言します。

すべての関数は、パラメータとして int を受け入れます。その値はEOFであるか、符号なしcharとして表現可能でなければなりません。

引数cが記述された条件を満たす場合、すべての関数はゼロ以外(true)を返し、そうでない場合はzero(false)を返します。

ライブラリ関数

以下は、ヘッダーctype.hで定義されている機能です-

Sr.No. Function & Description
1

int isalnum(int c)

この関数は、渡された文字が英数字かどうかをチェックします。

2

int isalpha(int c)

この関数は、渡された文字がアルファベットかどうかを確認します。

3

int iscntrl(int c)

この関数は、渡された文字が制御文字かどうかを確認します。

4

int isdigit(int c)

この関数は、渡された文字が10進数かどうかを確認します。

5

int isgraph(int c)

この関数は、渡された文字がロケールを使用してグラフィカルな表現を持っているかどうかをチェックします。

6

int islower(int c)

この関数は、渡された文字が小文字かどうかを確認します。

7

int isprint(int c)

この関数は、渡された文字が印刷可能かどうかを確認します。

8

int ispunct(int c)

この関数は、渡された文字が句読点文字かどうかを確認します。

9

int isspace(int c)

この関数は、渡された文字が空白かどうかをチェックします。

10

int isupper(int c)

この関数は、渡された文字が大文字かどうかを確認します。

11

int isxdigit(int c)

この関数は、渡された文字が16進数字かどうかをチェックします。

ライブラリには、「int」を受け入れて返す2つの変換関数も含まれています。

Sr.No. Function & Description
1

int tolower(int c)

この関数は、大文字を小文字に変換します。

2

int toupper(int c)

この関数は、小文字を大文字に変換します。

キャラクタークラス

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

extern int errno

これは、エラーが発生した場合に、システムコールといくつかのライブラリ関数によって設定されたマクロであり、エラーの原因を示します。

2

EDOM Domain Error

このマクロは、入力引数がドメインの外側にある場合に発生するドメインエラーを表します。ドメイン外では、数学関数が定義され、errnoがEDOMに設定されます。

3

ERANGE Range Error

このマクロは、入力引数が範囲外にある場合に発生する範囲エラーを表します。この範囲を超えると、数学関数が定義され、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

浮動小数点加算の丸めモードを定義し、次の値のいずれかを持つことができます-

  • -1-決定不能
  • 0-ゼロに向かって
  • 1-最も近い
  • 2-正の無限大に向かって *3-負の無限大に向かって
2
  • FLT_RADIX 2*

これは、指数の基本基数表現を定義します。 2進数は2進数、10進数は通常の10進数表現、16進数は16進数です。

3

FLT_MANT_DIG

  • DBL_MANT_DIG* *LDBL_MANT_DIG*

これらのマクロは、数値の桁数を定義します(FLT_RADIXベース)。

4

FLT_DIG 6

  • DBL_DIG 10* *LDBL_DIG 10*

これらのマクロは、丸め後に変更せずに表現できる10進数の最大数(10進数)を定義します。

5

FLT_MIN_EXP

  • DBL_MIN_EXP* *LDBL_MIN_EXP*

これらのマクロは、ベースFLT_RADIXの指数の最小の負の整数値を定義します。

6

FLT_MIN_10_EXP -37

  • DBL_MIN_10_EXP -37* *LDBL_MIN_10_EXP -37*

これらのマクロは、10を底とする指数の最小の負の整数値を定義します。

7

FLT_MAX_EXP

  • DBL_MAX_EXP* *LDBL_MAX_EXP*

これらのマクロは、ベースFLT_RADIXの指数の最大整数値を定義します。

8

FLT_MAX_10_EXP +37

  • DBL_MAX_10_EXP + 37* *LDBL_MAX_10_EXP + 37*

これらのマクロは、10を底とする指数の最大整数値を定義します。

9

FLT_MAX 1E+37

  • DBL_MAX 1E + 37* *LDBL_MAX 1E + 37*

これらのマクロは、最大有限浮動小数点値を定義します。

10

FLT_EPSILON 1E-5

  • DBL_EPSILON 1E-9* *LDBL_EPSILON 1E-9*

これらのマクロは、表現可能な最下位桁を定義します。

11

FLT_MIN 1E-37

  • DBL_MIN 1E-37* *LDBL_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

double acos(double x)

ラジアンでxのアークコサインを返します。

2

double asin(double x)

ラジアンでxの逆正弦を返します。

3

double atan(double x)

ラジアンでxのアークタンジェントを返します。

4

double atan2(double y, double x)

正しい象限を決定するために、両方の値の符号に基づいてy/xのラジアンでアークタンジェントを返します。

5

double cos(double x)

ラジアン角度xの余弦を返します。

6

double cosh(double x)

xの双曲線余弦を返します。

7

double sin(double x)

ラジアン角xのサインを返します。

8

double sinh(double x)

xの双曲線正弦を返します。

9

double tanh(double x)

xの双曲線正接を返します。

10

double exp(double x)

  • e* のx乗を返します。
11

double frexp(double x, int *exponent)

返される値は仮数で、exponentが指す整数は指数です。 結果の値は、x =仮数* 2 ^指数です。

12

double ldexp(double x, int exponent)

  • x* に2のべき乗を掛けた値を返します。
13

double log(double x)

  • x* の自然対数(底e対数)を返します。
14

double log10(double x)

  • x* の常用対数(10を底とする対数)を返します。
15

double modf(double x, double *integer)

返される値は小数部分(小数の後の部分)であり、integerを整数部分に設定します。

16

double pow(double x, double y)

xの y 乗を返します。

17

double sqrt(double x)

  • x* の平方根を返します。
18

double ceil(double x)

  • x* 以上の最小の整数値を返します。
19

double fabs(double x)

  • x* の絶対値を返します。
20

double floor(double x)

  • x* 以下の最大整数値を返します。
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

int raise(int sig)

この関数により、シグナル 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 va_arg(va_list ap, type)

このマクロは、タイプ type の関数のパラメーターリスト内の次の引数を取得します。

3

void va_end(va_list ap)

このマクロを使用すると、 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

NULL

このマクロは、ヌルポインター定数の値です。

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

int fclose(FILE *stream)

ストリームを閉じます。 すべてのバッファがフラッシュされます。

2

void clearerr(FILE *stream)

指定されたストリームのファイルの終わりとエラーのインジケータをクリアします。

3

int feof(FILE *stream)

指定されたストリームのファイル終了インジケータをテストします。

4

int ferror(FILE *stream)

指定されたストリームのエラーインジケータをテストします。

5

int fflush(FILE *stream)

ストリームの出力バッファーをフラッシュします。

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

long int ftell(FILE *stream)

指定されたストリームの現在のファイル位置を返します。

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

void rewind(FILE *stream)

ファイル位置を、指定されたストリームのファイルの先頭に設定します。

17

void setbuf(FILE *stream, char *buffer)

ストリームのバッファリング方法を定義します。

18

int setvbuf(FILE *stream, char *buffer, int mode, size_t size)

ストリームのバッファリング方法を定義する別の関数。

19

FILE *tmpfile(void)

バイナリ更新モード(wb +)で一時ファイルを作成します。

20

char *tmpnam(char *str)

存在しない有効な一時ファイル名を生成して返します。

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

int fgetc(FILE *stream)

指定されたストリームから次の文字(符号なし文字)を取得し、ストリームの位置インジケーターを進めます。

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

int getc(FILE *stream)

指定されたストリームから次の文字(符号なし文字)を取得し、ストリームの位置インジケーターを進めます。

35

int getchar(void)

標準入力から文字(符号なし文字)を取得します。

36

char *gets(char *str)

stdinから行を読み取り、strが指す文字列に格納します。 改行文字が読み取られたとき、またはファイルの終わりに達したときのいずれか早い方で停止します。

37

int putc(int char, FILE *stream)

引数charで指定された文字(符号なしchar)を指定されたストリームに書き込み、ストリームの位置インジケータを進めます。

38

int putchar(int char)

引数charで指定された文字(符号なしchar)をstdoutに書き込みます。

39

int puts(const char *str)

ヌル文字を含まない文字列をstdoutに書き込みます。 改行文字が出力に追加されます。

40

int ungetc(int char, FILE *stream)

文字char(符号なしchar)を指定されたストリームにプッシュして、次の文字が読み取られるようにします。

41

void perror(const char *str)

記述的なエラーメッセージを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

double atof(const char *str)

引数_str_が指す文字列を浮動小数点数(double型)に変換します。

2

int atoi(const char *str)

引数_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

void free(void *ptr

calloc、malloc、、または_realloc_の呼び出しによって以前に割り当てられたメモリの割り当てを解除します。

9

void *malloc(size_t size)

要求されたメモリを割り当て、それへのポインタを返します。

10

void *realloc(void *ptr, size_t size)

_malloc_または_calloc_の呼び出しで以前に割り当てられたptrが指すメモリブロックのサイズを変更しようとします。

11

void abort(void)

プログラムの異常終了を引き起こします。

12

int atexit(void (*func)(void))

プログラムが正常に終了したときに、指定された関数 func が呼び出されます。

13

void exit(int status)

プログラムを正常に終了させます。

14

char *getenv(const char *name)

名前が指す環境文字列を検索し、関連する値を文字列に返します。

15

int system(const char *string)

stringで指定されたコマンドは、ホスト環境に渡され、コマンドプロセッサによって実行されます。

16

void *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *))

バイナリ検索を実行します。

17

void qsort(void base

配列をソートします。

18

int abs(int x)

xの絶対値を返します。

19

div_t div(int numer, int denom)

分子(分子)を分母(分母)で除算します。

20

long int labs(long int x)

xの絶対値を返します。

21

ldiv_t ldiv(long int numer, long int denom)

分子(分子)を分母(分母)で除算します。

22

int rand(void)

0から_RAND_MAX_の範囲の擬似乱数を返します。

23

void srand(unsigned int seed)

この関数は、関数 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

char *strerror(int errnum)

エラー番号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

clock_t clock(void)

実装定義時代(通常はプログラムの開始)の開始以降に使用されたプロセッサクロック時間を返します。

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 time(time_t *timer)

現在のカレンダー時間を計算し、それをtime_t形式にエンコードします。