ITメモ
C言語 / Programming Language C
開発環境 / Development Environment
【Mac】Xcode【Win】Visual Stadio
基礎 / Basic
About C言語書式コンパイルとリンクメイクファイル / Makefileヘッダファイル変数定数型 / Type配列 / Arrayポインタ / Pointer演算子 / Operator制御文 / Control Statement関数構造体と共用体 / Structure & Unionプリプロセッサ / PreprocessorthisキーワードTypedef
文字列 / String
文字列 / Stringsnprintf - 文字列書式に従って指定文字数分だけ文字配列に書き込む
ネットワーク / Network
memset - メモリブロックのセット
メモリー管理
メモリー
入出力 / Input & Output
入出力入力フォーマット指定子出力フォーマット指定子
オペレーション / Operation
ファイル操作 / File Operationコマンドラインプログラム / Command-Line Programプロセス / Processソケット通信 / Socket Communication
用語集 / Glossary
サブルーチン / Subroutineスタックとキュー / Stack & Cueスレッド / Thread
C言語標準ライブラリ(ヘッダファイル)
C言語標準ライブラリC言語標準ライブラリ【assert.h】 - 診断機能C言語標準ライブラリ【complex.h】 - 複素数計算C言語標準ライブラリ【ctype.h】 - 文字操作C言語標準ライブラリ【errno.h】 - エラーC言語標準ライブラリ【fenv.h】 - 浮動小数点環境C言語標準ライブラリ【float.h】 - 浮動小数点型の特性C言語標準ライブラリ【inttypes.h】 - 整数型の書式の変換C言語標準ライブラリ【iso646.h】 - 代替つづり(Alternate spellings)C言語標準ライブラリ【limits.h】 - 整数型の大きさC言語標準ライブラリ【locale.h】 - 文化圏固有操作C言語標準ライブラリ【math.h】 - 数学C言語標準ライブラリ【setjmp.h】 - 非局所分岐C言語標準ライブラリ【signal.h】 - シグナル操作C言語標準ライブラリ【stdalign.h】 - アライメントC言語標準ライブラリ【stdarg.h】 - 可変個数の実引数C言語標準ライブラリ【stdatomic.h】 - アトミック操作C言語標準ライブラリ【stdbool.h】 - 論理型および論理値C言語標準ライブラリ【stddef.h】 - 共通の定義C言語標準ライブラリ【stdint.h】 - 整数型C言語標準ライブラリ【stdio.h】 - 入出力C言語標準ライブラリ【stdlib.h】 - 一般ユーティリティC言語標準ライブラリ【stdnoreturn.h】 - _NoreturnC言語標準ライブラリ【string.h】 - 文字列操作C言語標準ライブラリ【tgmath.h】 - 型総称数学関数(Type-generic math)C言語標準ライブラリ【threads.h】 - マルチスレッドC言語標準ライブラリ【time.h】 - 日付及び時間C言語標準ライブラリ【uchar.h】 - UnicodeユーティリティC言語標準ライブラリ【wchar.h】 - 多バイトおよびワイド文字拡張ユーティリティC言語標準ライブラリ【wctype.h】 - ワイド文字種分類およびワイド文字大文字小文字変換ユーティリティ
C言語ライブラリ(ヘッダファイル)
C言語ヘッダファイル【winsock.h】





C言語標準ライブラリ【string.h】 - 文字列操作






文字列操作 <string.h>

文字列操作に関する型・マクロ・関数の宣言定義。

・memchr - メモリブロック中の文字検索
・memcmp - メモリブロックの比較
・memcpy - メモリブロックのコピー
・memmove - メモリブロックの転送
・memset - メモリブロックを指定文字で埋める
・strchr - 文字列内の文字探索
・strcat - 文字列の連結
・strcmp - 文字列の比較
・strcpy - 文字列のコピー
・strcspn - 文字列中の指定文字群を含まない先頭部分の長さ
・strerror - エラー番号に対応したエラーメッセージ文字列の取得
・strcoll - ロケールに応じた順序付けによる文字列の比較
・strlen - 文字列の長さ
・strncat - 字数制限付きで文字列の連結
・strncmp - 字数制限付きで文字列の比較
・strncpy - 字数制限付きで文字列のコピー
・strpbrk - 文字列中の文字群探索
・strrchr - 文字列内の逆方向文字探索
・strspn - 文字列中の指定文字群を含む先頭部分の長さ
・strstr - 文字列中の文字列探索
・strtok - 文字列からの字句切り出し
・strxfrm - ロケールに応じた順序付けになるように文字列を変換



文字列処理 <string.h> :主に文字列処理を行う関数群。

主に文字列処理を行う関数群。
汎用のメモリ処理と共用できる関数も多い。
なお、半角文字を基準とするので、全角文字の処理には注意すること。




[ strcpy ]  : 文字配列に文字列をコピーする。文字列の代入に使用する。
関数型 : char *strcpy(char *s, const char *t);
引数  : 文字配列、文字列
戻り値 : 引数の文字配列をそのまま返す
機能  : 文字配列に文字列をコピーする。文字列の代入に使用する。

[ strncpy ]  : 文字配列に指定文字数だけ文字列をコピーする。
関数型 : char *strncpy(char *s, const char *t, size_t n);
引数  : 文字配列、文字列、最大コピー文字数
戻り値 : 引数の文字配列をそのまま返す。
機能  : 文字配列に指定文字数だけ文字列をコピーする。
注意  : 文字数が多い場合にはナル文字を付加しないので、必ず、s[n] = '\0'; としてナル文字を付加して下さい。

[ strcat ]  : 文字配列の後ろに文字列をつなげる。
関数型 : char *strcat(char *s, const char *t);
引数  : 文字配列、文字列
戻り値 : 引数の文字配列をそのまま返す
機能  : 文字配列の後ろに文字列をつなげる。

[ strncat ]  : 文字配列の後ろに指定文字数だけ文字列をつなげる。
関数型 : char *strncat(char *s, const char *t, size_t n);
引数  : 文字配列、文字列、最大連結文字数
戻り値 : 引数の文字配列をそのまま返す。
機能  : 文字配列の後ろに指定文字数だけ文字列をつなげる。

[ strlen ]  : 文字列の長さを返す。
関数型 : size_t strlen(const char *s);
引数  : 文字列
戻り値 : 文字列の長さ。ナル文字は含めない。
機能  : 文字列の長さを返す。

[ strcmp ]  : 文字列1と文字列2を比較する。
関数型 : int strcmp(const char *s, const char *t);
引数  : 文字列1、文字列2
戻り値 : 文字列1が大きいときは正、同じ時は0、文字列2が大きいときは負。
機能  : 文字列1と文字列2を比較する。

[ strncmp ]  : 文字列を指定文字数だけ比較する。
関数型 : int strncmp(const char *s, const char *t, size_t n);
引数  : 文字列1、文字列2、比較文字数
戻り値 : 文字列1が大きいときは正、同じ時は0、文字列2が大きいときは負。
機能  : 文字列を指定文字数だけ比較する。

[ strchr ]  : 文字列の先頭から文字を検索する。
関数型 : char *strchr(const char *s, int c);
引数  : 文字列、文字
戻り値 : 見つかった位置のアドレス、見つからない場合はNULL。
機能  : 文字列の先頭から文字を検索する。

[ strrchr ]  : 文字列の後ろから文字を検索する。
関数型 : char *strrchr(const char *s, int c);
引数  : 文字列、文字
戻り値 : 見つかった位置のアドレス、見つからない場合はNULL。
機能  : 文字列の後ろから文字を検索する。

[ strcspn ]  : 対象文字列の中から検索文字列に含まれる文字を検索する。
関数型 : size_t strcspn(const char *s, const char *t);
引数  : 対象文字列、検索文字列
戻り値 : 見つかった位置までの文字数。
機能  : 対象文字列の中から検索文字列に含まれる文字を検索する。

[ strspn ]  : 対象文字列の中から検索文字列に含まれない文字を検索する。
関数型 : size_t strspn(const char *s, const char *t);
引数  : 対象文字列、検索文字列
戻り値 : 見つからない位置までの文字数。
機能  : 対象文字列の中から検索文字列に含まれない文字を検索する。

[ strpbrk ]  : 対象文字列の先頭から検索文字列に含まれる文字を検索する。
関数型 : char *strpbrk(const char *s, const char *t);
引数  : 対象文字列、検索文字列
戻り値 : 見つかった最初の文字へのポインタ、見つからない場合はNULL。
機能  : 対象文字列の先頭から検索文字列に含まれる文字を検索する。

[ strstr ]  : 対象文字列から検索文字列を検索する。
関数型 : char *strstr(const char *s, const char *t);
引数  : 対象文字列、検索文字列
戻り値 : 見つかった位置へのポインタ、見つからない場合はNULL。
機能  : 対象文字列から検索文字列を検索する。

[ strtok ]  : 文字配列を、区切り文字列に含まれる文字がある位置で区切る。
関数型 : char *strtok(char *s, const char *t);
引数  : 文字配列、区切り文字列
戻り値 : 区切られた単語へのポインタ。見つからない場合はNULL。
機能  : 文字配列を、区切り文字列に含まれる文字がある位置で区切る。文字配列をNULLにして呼び出すと次の単語を取得出来る。

[ strerror ]  : エラーメッセージを取得する。
関数型 : char *strerror(int n);
引数  : エラー番号
戻り値 : エラーメッセージが格納された配列。対応するエラーがないときは空文字列。
機能  : エラーメッセージを取得する。
注意  : 取得した配列の中身は書き換えないようにする。

[ memcpy ]  : メモリ内容をコピーする。コピー領域が重なっているとうまくいかない。
関数型 : void *memcpy(void *dest, const void *source, size_t count);
引数  : コピー先、コピー元、コピーサイズ
戻り値 : 引数のコピー先を返す
機能  : メモリ内容をコピーする。コピー領域が重なっているとうまくいかない。

[ memmove ]  : メモリ内容をコピーする。コピー領域が重なっていても問題ない。
関数型 : void *memmove(void *dest, const void *source, size_t count);
引数  : コピー先、コピー元、コピーサイズ
戻り値 : 引数のコピー先を返す
機能  : メモリ内容をコピーする。コピー領域が重なっていても問題ない。
補足  : move という名前だが、移動ではないので注意。

[ memset ]  : メモリ内容の指定サイズ分の要素全てに数値を代入。文字にも使用できる。
関数型 : void *memset(void *addr, int byte, size_t count);
引数  : 配列、数値、代入サイズ
戻り値 : 引数の配列をそのまま返す
機能  : メモリ内容の指定サイズ分の要素全てに数値を代入。文字にも使用できる。

[ memcmp ]  : メモリ同士を比較する。文字列の比較も出来る。
関数型 : int memcmp(const void *addr1, const void *addr2, size_t n);
引数  : 配列1、配列2、比較サイズ
戻り値 : 配列1が大きいときは正、同じ時は0、配列2が大きいときは負。
機能  : メモリ同士を比較する。文字列の比較も出来る。

[ memchr ]  : メモリ内から数値を検索する。1文字検索にも使える。
関数型 : void *memchr(const void *addr, int byte, size_t count);
引数  : 配列、1バイトの数値、検索するサイズ
戻り値 : 見つかった位置のアドレス、見つからない場合はNULL。
機能  : メモリ内から数値を検索する。1文字検索にも使える。




; ;