書式 | size_t strftime( char *s, size_t maxsize, const char *format, const struct tm *stm ) |
---|---|
機能 | struct tm構造体を書式付き文字列に変換 |
引数 | char *s : 変換した文字列の格納先 size_t maxsize : 文字列の最大バイト数 const char *format : 書式文字列 const struct tm *stm : 変換元のstruct tm構造体 |
戻り値 | 変換した文字のバイト数を返します。 |
年 | %Y : 西暦での年数 %y : 西暦での下2桁の年数 |
---|---|
月 | %m : 月数[01〜12] %B : 月の名称 %b : 月の略称 |
日 | %d : 日付[01〜31] %x : 日付(年月日) %c : 日付(年月日)と時刻 %j : 経過日数 |
曜日 | %w : 曜日[0〜6](0が日曜日) %W : 経過した週[00〜53](最初が月曜日) %A : 曜日の名称 %a : 曜日の略称 |
時 | %H : 時[00〜23] %I : 時[00〜12] %p : 午前/午後の文字列 |
分 | %M : 分[00〜59] |
秒 | %S : 秒[00〜61] %X : 時刻(00:00:00) |
その他 | %% : %(パーセント記号)を表示 |
書式 | char* asctime( struct tm *stm ) |
---|---|
機能 | struct tm構造体を文字列に変換 |
引数 | struct tm *stm : 変換元となるstruct tm型の構造体 |
戻り値 | 変換した文字列を返します。 |
書式 | time_t mktime( struct tm *stm ) |
---|---|
機能 | struct tm構造体を time_t型に変換 |
引数 | struct tm *stm : 変換元となるstruct tm型の構造体 |
戻り値 | 成功すると、time_t型に変換された値を返し、 失敗すると、-1を返します。 |
書式 | struct tm* gmtime( const time_t *timer ) |
---|---|
機能 | システム時刻をグリニッジ標準時用の構造体に変換 |
引数 | const time_t *timer : time()で取得したシステム時刻 |
戻り値 | グリニッジ標準時の struct tm型の構造体で返します。 |
int tm_sec | 秒[0〜61](最大2秒のうるう秒を含む為) |
---|---|
int tm_min | 分[0〜59] |
int tm_hour | 時[0〜23] |
int tm_mday | 日[1〜31] |
int tm_mon | 月[0〜11](-1された月数) |
int tm_year | 年(1900からの経過年数) |
int tm_wday | 曜日[0〜6](日:0 月:1 火:2 水:3 木:4 金:5 土:6) |
int tm_yday | 1月1日からの経過日数[0〜365] |
int tm_isdst | 夏時間の有無(0:なし 正の値:夏時間) |
書式 | struct tm* localtime( const time_t *timer ) |
---|---|
機能 | システム時刻を地域時間用の構造体に変換 |
引数 | const time_t *timer : time()で取得したシステム時刻 |
戻り値 | 日本時間に変換された、struct tm型の構造体で返します。 |
int tm_sec | 秒[0〜61](最大2秒のうるう秒を含む為) |
---|---|
int tm_min | 分[0〜59] |
int tm_hour | 時[0〜23] |
int tm_mday | 日[1〜31] |
int tm_mon | 月[0〜11](-1された月数) |
int tm_year | 年(1900からの経過年数) |
int tm_wday | 曜日[0〜6](日:0 月:1 火:2 水:3 木:4 金:5 土:6) |
int tm_yday | 1月1日からの経過日数[0〜365] |
int tm_isdst | 夏時間の有無(0:なし 正の値:夏時間) |
書式 | double difftime( time_t t1, time_t t2 ) |
---|---|
機能 | システム時刻の差を取得 |
引数 | time_t t1 : 差を求める時刻 time_t t2 : 差を求める時刻 |
戻り値 | t1 - t2 の時刻をdouble型で返します。 |
書式 | char* ctime( const time_t *timer ) |
---|---|
機能 | システム時刻を日時の文字列に変換 |
引数 | const time_t *timer : time()で取得したシステム時刻 |
戻り値 | 日本時間の日時に変換した文字列を返します。 |
書式 | time_t time( time_t *timer ) |
---|---|
機能 | システム時刻の取得 |
引数 | time_t *timer : システム時刻(秒)を格納 |
戻り値 | 成功すると、システム時刻を返し、 失敗すると、-1を返します。 また、引数(timer)にNULLを指定すると、システム時刻を返します。 |
書式 | clock_t clock( void ) |
---|---|
機能 | プログラム実行時からの時間を取得 |
引数 | なし |
戻り値 | プログラム実行時からの経過時間を返します。 |
clock_t | clock()の戻り値に使われる経過時間を格納します。 通常、long型をtypedefしています。 |
---|---|
CLOCKS_PER_SEC | clock()での戻り値の単位がtime.hで定義されています。 1000の場合は、ミリ秒となります。 |
書式 | void* memmove( void *s1, const void *s2, size_t n ) |
---|---|
機能 | バッファのコピー(移動) |
引数 | void *s1 : コピー先となるバッファ const void *s2 : コピー元となるバッファ size_t n : コピーするバイト数 |
戻り値 | コピー先バッファ(s1)を返します。 |
書式 | void* memset( void *s, int c, size_t n ) |
---|---|
機能 | バッファを指定した値で設定 |
引数 | void *s : 設定対象のバッファ int c : 設定する値 size_t n : 設定バイト数 |
戻り値 | 設定対象のバッファ(s)を返します。 |
書式 | void* memcpy( void *s1, const void *s2, size_t n ) |
---|---|
機能 | バッファのコピー |
引数 | void *s1 : コピー先となるバッファ const void *s2 : コピー元となるバッファ size_t n : コピーするバイト数 |
戻り値 | コピー先バッファ(s1)を返します。 |
書式 | int memcmp( const void *s1, const void *s2, size_t n ) |
---|---|
機能 | バッファ同士のデータを比較 |
引数 | const void *s1 : 比較するバッファ const void *s2 : 比較するバッファ size_t n : 比較するバイト数 |
戻り値 | s1 < s2 : 負の値 s1 = s2 : 0 s1 > s2 : 正の値 |
書式 | void* memchr( const void *s, int c, size_t n ) |
---|---|
機能 | バッファ内のデータを検索 |
引数 | const void *s : 検索対象となるバッファ int c : 検索するデータ size_t n : 検索バイト数 |
戻り値 | 検索データ(c)を最初に発見した位置のポインタを返し、 発見出来なかったときは、NULLを返します。 |
書式 | char* strerror( int errnum ) |
---|---|
機能 | エラー番号に応じた文字列の取得 |
引数 | int errnum : エラー番号 |
戻り値 | エラー番号に応じた文字列のポインタを返します。 |
00 | No error |
---|---|
01 | Operation not permitted |
02 | No such file or directory |
03 | No such process |
04 | Interrupted function call |
05 | Input/output error |
06 | No such device or address |
07 | Arg list too long |
08 | Exec format error |
09 | Bad file descriptor |
10 | No child processes |
11 | Resource temporarily unavailable |
12 | Not enough space |
13 | Permission denied |
14 | Bad address |
15 | Unknown error |
16 | Resource device |
17 | File exists |
18 | Improper link |
19 | No such device |
20 | Not a directory |
21 | Is a directory |
22 | Invalid argument |
23 | Too many open files in system |
24 | Too many open files |
25 | Inappropriate I/O control operation |
26 | Unknown error |
27 | File too large |
28 | No space left on device |
29 | Invalid seek |
30 | Read-only file system |
31 | Too many links |
32 | Broken pipe |
33 | Domain error |
34 | Result too large |
35 | Unknown error |
36 | Resource deadlock avoided |
37 | Unknown error |
38 | Filename too long |
39 | No locks available |
40 | Function not implemented |
41 | Directory not empty |
42 | Illegal byte sequence |
43 | Unknown error |
44 | Unknown error |
45 | Unknown error |
46 | Unknown error |
47 | Unknown error |
48 | Unknown error |
49 | Unknown error |
書式 | size_t strxfrm( char *s1, const char *s2, size_t n ) |
---|---|
機能 | 現在のロケールで文字列の変換 |
引数 | char *s1 : 変換結果の格納先 const char *s2 : 変換する文字列 size_t n : 変換する文字数 |
戻り値 | 変換後の文字列バイト数を返します。 |
書式 | char* strcoll( const char *s1, const char *s2 ) |
---|---|
機能 | 現在のロケールで文字列の比較 |
引数 | const char *s1 : 比較する文字列 const char *s2 : 比較する文字列 |
戻り値 | s1 < s2 : 負の値 s1 = s2 : 0 s1 > s2 : 正の値 |
書式 | char* strtok( char *s1, const char *s2 ) |
---|---|
機能 | 文字列を指定区切り文字群で分解 |
引数 | char *s1 : 分解する文字列 const char *s2 : 区切り文字群 |
戻り値 | 区切られた文字列(トークン)があれば、先頭ポインタを返し、 区切られた文字列(トークン)が無ければNULLを返します。 |
書式 | size_t strcspn( const char *s1, const char *s2 ) |
---|---|
機能 | 文字列内から文字群を含まない先頭からの長さを取得 |
引数 | const char *s1 : 検索対象の文字列 const char *s2 : 検索する文字群 |
戻り値 | 文字群(s2)を含まない、文字列(s1)の先頭からの長さを返します。 |
書式 | size_t strspn( const char *s1, const char *s2 ) |
---|---|
機能 | 文字列内から文字群を含む先頭からの長さを取得 |
引数 | const char *s1 : 検索対象の文字列 const char *s2 : 検索する文字群 |
戻り値 | 文字群(s2)が含まれた、文字列(s1)の先頭からの長さを返します。 |
書式 | char* strpbrk( const char *s1, const char *s2 ) |
---|---|
機能 | 文字列内から文字群で検索 |
引数 | const char *s1 : 検索対象の文字列 const char *s2 : 検索する文字群 |
戻り値 | 検索文字群(s2)のどれか1文字を最初に発見した位置のポインタを返し、 発見出来なかったときは、NULLを返します。 |
書式 | char* strstr( const char *s1, const char *s2 ) |
---|---|
機能 | 文字列内の文字列を検索 |
引数 | const char *s1 : 検索対象の文字列 const char *s2 : 検索する文字列 |
戻り値 | 検索文字列(s2)を最初に発見した位置のポインタを返し、 発見出来なかったときは、NULLを返します。 |
書式 | char* strrchr( const char *s, int c ) |
---|---|
機能 | 文字列内の文字を後ろから検索 |
引数 | const char *s : 検索元の文字列 int c : 検索する文字 |
戻り値 | 検索文字を最初に発見した位置のポインタを返し、 発見出来なかったときは、NULLを返します。 |
書式 | char* strchr( const char *s, int c ) |
---|---|
機能 | 文字列内の文字を検索 |
引数 | const char *s : 検索元の文字列 int c : 検索する文字 |
戻り値 | 検索文字を最初に発見した位置のポインタを返し、 発見出来なかったときは、NULLを返します。 |
書式 | char* strncpy( char *dst, const char *src, size_t n ) |
---|---|
機能 | 文字列を指定した文字列のコピー |
引数 | char *dst : コピー先となる文字列 const char *src : コピー元となる文字列 size_t n : コピーする文字数 |
戻り値 | コピー先文字列のポインタを返します。 |
書式 | int strncmp( const char *s1, const char *s2, size_t n ) |
---|---|
機能 | 文字数を指定した文字列の比較 |
引数 | const char *s1 : 比較する文字列 const char *s2 : 比較する文字列 size_t n : 比較する先頭からの文字数 |
戻り値 | s1 < s2 : 負の値 s1 = s2 : 0 s1 > s2 : 正の値 |
書式 | char* strncat( char *s1, const char *s2, size_t n ) |
---|---|
機能 | 文字数を指定した文字列の連結 |
引数 | char *s1 : 連結先の文字列 const char *s2 : 連結元の文字列 size_t n : 連結する文字数 |
戻り値 | 連結先の文字列のポインタを返します。 |
書式 | char* strcpy( char *dst, const char *src ) |
---|---|
機能 | 文字列のコピー |
引数 | char *dst : コピー先となる文字列 const char *src : コピー元となる文字列 |
戻り値 | コピー先文字列のポインタを返します。 |
書式 | int strcmp( const char *s1, const char *s2 ) |
---|---|
機能 | 文字列の比較 |
引数 | const char *s1 : 比較する文字列 const char *s2 : 比較する文字列 |
戻り値 | s1 < s2 : 負の値 s1 = s2 : 0 s1 > s2 : 正の値 |
書式 | char* strcat( char *s1, const char *s2 ) |
---|---|
機能 | 文字列の連結 |
引数 | char *s1 : 連結先の文字列 const char *s2 : 連結元の文字列 |
戻り値 | 連結先の文字列を返します。 |
書式 | size_t strlen( const char *s ) |
---|---|
機能 | 文字列の長さを取得 |
引数 | const char *s : 対象となる文字列 |
戻り値 | 文字列の長さを返します。 |
書式 | int wcstombs( char *ms, const wchar_t *ws, size_t n ) |
---|---|
機能 | ワイド文字列からマルチバイト文字列に変換 |
引数 | char *ms : 変換されたマルチバイト文字列を格納するポインタ const wchar_t *ws : 変換元のワイド文字列 size_t n : マルチバイト文字のバイト数を指定 |
戻り値 | 成功すると、変換したマルチバイト文字列のバイト数を返し、 失敗すると、-1を返します。 |
書式 | int wctomb( char *s, wchar_t wc ) |
---|---|
機能 | ワイド文字からマルチバイト文字に変換 |
引数 | char *s : 変換したマルチバイト文字を格納するポインタ wchar_t wc : 変換元のワイド文字 |
戻り値 | 成功すると、マルチバイト文字のバイト数を返し、 失敗すると、-1を返します。 |
書式 | int mbstowcs( wchar_t *ws, const char *ms, size_t n ) |
---|---|
機能 | マルチバイト文字列からワイド文字列に変換 |
引数 | wchar_t *ws : 変換したワイド文字列を格納するポインタ const char *ms : 変換元のマルチバイト文字列 size_t n : ワイド文字の文字数を指定 |
戻り値 | 成功すると、変換したワイド文字の文字数を返し、 失敗すると、-1を返します。 |
書式 | int mbtowc( wchar_t *wc, const char *mc, size_t n ) |
---|---|
機能 | マルチバイト文字からワイド文字に変換 |
引数 | wchar_t *wc : 変換したワイド文字を格納するポインタ const char *mc : 変換元のマルチバイト文字 size_t n : 変換するバイト数 |
戻り値 | 成功すると、マルチバイト文字のバイト数を返し、 失敗すると、-1を返します。 |
書式 | int mblen( const char *s, size_t n ) |
---|---|
機能 | マルチバイト文字の長さを取得 |
引数 | const char *s : マルチバイト文字 size_t n : 判定するバイト数 |
戻り値 | 成功すると、マルチバイト文字のバイト数を返し、 失敗すると、-1を返します。 |
MB_CUR_MAX | 現在のロケールのLC_CTYPE設定で、 マルチバイト文字1文字に必要な、最大バイト数 |
---|---|
MB_LEN_MAX | 全てのロケールで、 マルチバイト文字1文字に必要な、最大バイト数 |
書式 | void* bsearch( const void *key, const void *base, size_t n, size_t size, int (*comp)(const void *c1, const void *c2 ) ) |
---|---|
機能 | バイナリサーチ(二分探索)を行う |
引数 | const void *key : 検索する値 const void *base : 検索する配列 size_t n : 配列要素の個数 size_t size : 配列要素のサイズ int (*comp)(const void *c1, const void *c2 ) ) : 比較関数 |
戻り値 | 検索が成功した場合は、要素のポインタを返し、 発見出来なかった場合は、NULLを返します。 |
c1 < c2 | 負の値 |
---|---|
c1 == c2 | 0 |
c1 > c2 | 正の値 |
書式 | void qsort( void *base, size_t n, size_t size, int (*comp)( const void *c1, const void *c2 ) ) |
---|---|
機能 | クイックソート(配列要素の並び替え)を行う |
引数 | void *base : 並び替えを行う配列 size_t n : 配列要素の個数 size_t size : 配列要素のサイズ int (*comp)( const void *c1, const void *c2 ) : 比較関数 |
戻り値 | なし |
c1 < c2 | 負の値 |
---|---|
c1 == c2 | 0 |
c1 > c2 | 正の値 |
書式 | void* bsearch( const void *key, const void *base, size_t n, size_t size, int (*comp)(const void *c1, const void *c2 ) ) |
---|---|
機能 | バイナリサーチ(二分探索)を行う |
引数 | const void *key : 検索する値 const void *base : 検索する配列 size_t n : 配列要素の個数 size_t size : 配列要素のサイズ int (*comp)(const void *c1, const void *c2 ) ) : 比較関数 |
戻り値 | 検索が成功した場合は、要素のポインタを返し、 発見出来なかった場合は、NULLを返します。 |
c1 < c2 | 負の値 |
---|---|
c1 == c2 | 0 |
c1 > c2 | 正の値 |
書式 | void qsort( void *base, size_t n, size_t size, int (*comp)( const void *c1, const void *c2 ) ) |
---|---|
機能 | クイックソート(配列要素の並び替え)を行う |
引数 | void *base : 並び替えを行う配列 size_t n : 配列要素の個数 size_t size : 配列要素のサイズ int (*comp)( const void *c1, const void *c2 ) : 比較関数 |
戻り値 | なし |
c1 < c2 | 負の値 |
---|---|
c1 == c2 | 0 |
c1 > c2 | 正の値 |
書式 | void srand( unsigned int seed ) |
---|---|
機能 | 擬似乱数(ランダム数)の種を設定 |
引数 | unsigned int seed : 乱数の種 |
戻り値 | なし |
書式 | int rand( void ) |
---|---|
機能 | 擬似乱数(ランダム数)の取得 |
引数 | なし |
戻り値 | 0〜RAND_MAXまでの整数である乱数を返します。 |
書式 | int system( const char *s ) |
---|---|
機能 | コマンドプロセッサの存在確認とコマンドの実行 |
引数 | const char *s : コマンドプロセッサに渡すコマンド(文字列) NULLを指定すると、コマンドプロセッサの存在確認が出来ます。 |
戻り値 | 引数s にNULLを指定した場合は、コマンドプロセッサがあれば0以外を返し、 コマンドプロセッサが無ければ0を返します。 引数s にコマンドを指定した場合は、環境(OS)依存となりますが、 コマンドがあれば0を返し、無ければ1を返してました(Windowsの場合) |
書式 | char* getenv( const char *s ) |
---|---|
機能 | 環境変数の値を取得 |
引数 | const char *s : 環境変数名 |
戻り値 | 成功すると、指定された環境変数の値を返し、 失敗すると、NULLを返します。 |
書式 | void free( void *ptr ) |
---|---|
機能 | 確保した動的メモリ領域の解放 |
引数 | void *ptr : malloc()などで確保したメモリ領域のポインタ |
戻り値 | なし |
書式 | void* realloc( void *ptr, size_t size ) |
---|---|
機能 | 確保した動的メモリサイズの変更 |
引数 | void *ptr : malloc()やcalloc()で確保した領域のポインタ size_t size : 変更したい領域のバイト数 |
戻り値 | 成功すると、改めて確保した領域のポインタを返し、 失敗すると、NULLを返します。 |
書式 | void* calloc( size_t num, size_t size ) |
---|---|
機能 | 動的メモリの確保をして0で初期化する |
引数 | size_t num : 確保する領域の個数 size_t size : 1つの領域のバイト数 |
戻り値 | 成功すると、確保した領域のポインタを返し 失敗すると、NULLを返します。 |
書式 | void* malloc( size_t size ) |
---|---|
機能 | 動的メモリ領域の確保をする |
引数 | size_t size : 領域を確保する為のバイト数を指定します |
戻り値 | 成功すると、確保した領域のポインタを返し 失敗すると、NULLを返します。 |
書式 | long strtoul( const char *s, char **ends, int base ) |
---|---|
機能 | 文字列を整数値( unsigned long型 )に変換 |
引数 | const char *s : 変換元も文字列 char **ends : 変換が不可能だった文字列を格納するポインタ int base : 基数 0を指定すると、文字列の先頭に0x or 0Xがあると16進数として変換し、 0から始まる数値なら8進数として変換し、それ以外は10進数として変換します。 また、2〜36を指定すると、指定された n進数で変換します。 |
戻り値 | unsigned long型に変換された値 |
書式 | long strtol( const char *s, char **ends, int base ) |
---|---|
機能 | 文字列を整数値( long型 )に変換 |
引数 | const char *s : 変換元も文字列 char **ends : 変換が不可能だった文字列を格納するポインタ int base : 基数 0を指定すると、文字列の先頭に0x or 0Xがあると16進数として変換し、 0から始まる数値なら8進数として変換し、それ以外は10進数として変換します。 また、2〜36を指定すると、指定された n進数で変換します。 |
戻り値 | long型に変換された値 |
書式 | double strtod( const char *s, char **ends ) |
---|---|
機能 | 文字列を浮動小数点( double型 )に変換 |
引数 | const char *s : 変換元の文字列 char **ends : 変換が不可能だった文字列を格納するポインタ |
戻り値 | double型に変換された値 |
書式 | int atexit( void (*func)(void) ) |
---|---|
機能 | プログラムの終了時に呼ばれる関数を登録する |
引数 | void (*func)(void) : 登録する関数ポインタ |
戻り値 | 成功すると0を返し、失敗すると0以外を返します。 |
書式 | void abort( void ) |
---|---|
機能 | プログラムの異常終了 |
引数 | なし |
戻り値 | なし |
書式 | void exit( int status ) |
---|---|
機能 | プログラムを正常終了させる |
引数 | int status : EXIT_SUCCESS(0)を指定すると成功を示し、 EXIT_FAILURE(1)を指定すると処理が失敗した事を示します。 |
戻り値 | なし |
小数点付きの文字列を浮動小数点型( double型 )に型変換するには、atof()を使います。
つまり、char型文字列の "123.12345" を、double型の 123.12345 に変換出来ます。
書式 | double atof( const char *s ) |
---|---|
機能 | 数字から浮動小数点型( double型 )に変換 |
引数 | const char *s : 変換元の文字列を指定 |
戻り値 | double型に変換された小数点の値 |
書式 | long atol( const char *s ) |
---|---|
機能 | 数字から整数型( long型 )に変換 |
引数 | const char *s : 変換元の文字列を指定 |
戻り値 | long型に変換された整数値 |