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

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

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で共有していただければ幸いです。

siro:chro 無料ゲーム SQN をリリースしました

img_sqn_00

sirochro 初の無料ゲームアプリ SQN をリリースしました。
記事:SQN: iOS 無料ゲームアプリ SQN - Sequential Numbers をリリース
ちょっとした時間に楽しめる完全無料のゲームなっていますので、是非ダウンロードして遊んでみてください。

↓SQN のダウンロードはこちらから

Related Contents

Pickup Contents