MENU
コンテンツ再構築中

C++:C標準ライブラリと主な関数のリスト(3) string.h

C言語の標準ライブラリの中から、文字列を処理する関数がセットになっているstring.hをまとめました。

INDEX

string.h

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

strcpy

書式 char *strcpy(char *s, const char *t);
引数 char *s(文字配列)/const char *t(文字列)
戻り値 引数の文字配列をそのまま返す
機能 文字配列に文字列をコピー(文字列の代入に使用)する

strncpy

th>

書式 char *strncpy(char *s, const char *t, size_t n);
引数 char *s(文字配列)/const char *t(文字列)/size_t n(最大コピー文字数)
戻り値 引数の文字配列をそのまま返す
機能 文字配列に指定文字数だけ文字列をコピーする
注意 文字数が多い場合にはNULL文字を付加しないので、必ず s[n] = ‘¥0’; としてNULL文字を付加する

strcat

書式 char *strcat(char *s, const char *t);
引数 char *s(文字配列)/const char *t(文字列)
戻り値 引数の文字配列をそのまま返す
機能 文字配列の後ろに文字列をつなげる

strncat

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

strlen

書式 size_t strlen(const char *s);
引数 const char *s(文字列)
戻り値 文字列の長さ(NULL文字は含まない)
機能 文字列の長さを返す

strcmp

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

strncmp

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

strchr

書式 char *strchr(const char *s, int c);
引数 const char *s(文字列)/int s(文字)
戻り値 見つかった位置のアドレス/見つからない場合はnull
機能 文字列の先頭から文字を検索する

strrchr

書式 char *strrchr(const char *s, int c);
引数 const char *s(文字列)/int c(文字)
戻り値 見つかった位置のアドレス/見つからない場合はnull
機能 文字列の後ろから文字を検索する

strcspn

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

strspn

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

strpbrk

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

strstr

書式 char *strstr(const char *s, const char *t);
引数 const char *s(対象文字列)/const char *t(検索文字列)
戻り値 見つかった位置へのポインタ/見つからない場合はnull
機能 対象文字列から検索文字列を検索する

strtok

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

strerror

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

memcpy

書式 void *memcpy(void *dest, const void *source, size_t count);
引数 void *dest(コピー先)/const void *source(コピー元)/size_t count(コピーサイズ)
戻り値 引数のコピー先を返す
機能 メモリ内容をコピーする。コピー領域が重なっていると機能しない。

memmove

書式 void *memmove(void *dest, const void *source, size_t count);
引数 void *dist(コピー先)/const void *source(コピー元)/size_t count(コピーサイズ)
戻り値 引数のコピー先を返す
機能 メモリ内容をコピーする/コピー領域が重なっていても問題ない
補足 この関数の move は移動ではないので注意

memset

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

memcmp

書式 int memcmp(const void *addr1, const void *addr2, size_t n);
引数 const void *addr1(配列1)/const void *addr2(配列2)/size_t n(比較サイズ)
戻り値 配列1が大きいときは正/同じ時は0/配列2が大きいときは負
機能 メモリ同士や文字列の比較を行う

memchr

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

さいごに

この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Please share it!
  • URLをコピーしました!
  • URLをコピーしました!
INDEX