AVR Libc Home Page | ![]() |
AVR Libc Development Pages | ||
Main Page | FAQ | Library Reference | Additional Documentation | Example Projects |
#include <string.h>
文字列関数(NULで終わる文字列の操作を行う)
Defines | |
#define | _FFS(x) |
Functions | |
int | ffs (int) __attribute__((const )) |
int | ffsl (long) __attribute__((const )) |
int | ffsll (long long) __attribute__((const )) |
void * | memccpy (void *, const void *, int, size_t) |
void * | memchr (const void *, int, size_t) __ATTR_PURE__ |
int | memcmp (const void *, const void *, size_t) __ATTR_PURE__ |
void * | memcpy (void *, const void *, size_t) |
void * | memmove (void *, const void *, size_t) |
void * | memset (void *, int, size_t) |
int | strcasecmp (const char *, const char *) __ATTR_PURE__ |
char * | strcat (char *, const char *) |
char * | strchr (const char *, int) __ATTR_PURE__ |
int | strcmp (const char *, const char *) __ATTR_PURE__ |
char * | strcpy (char *, const char *) |
size_t | strlcat (char *, const char *, size_t) |
size_t | strlcpy (char *, const char *, size_t) |
size_t | strlen (const char *) __ATTR_PURE__ |
char * | strlwr (char *) |
int | strncasecmp (const char *, const char *, size_t) __ATTR_PURE__ |
char * | strncat (char *, const char *, size_t) |
int | strncmp (const char *, const char *, size_t) __ATTR_PURE__ |
char * | strncpy (char *, const char *, size_t) |
size_t | strnlen (const char *, size_t) __ATTR_PURE__ |
char * | strrchr (const char *, int) __ATTR_PURE__ |
char * | strrev (char *) |
char * | strsep (char **, const char *) |
char * | strstr (const char *, const char *) __ATTR_PURE__ |
char * | strtok_r (char *, const char *, char **) |
char * | strupr (char *) |
|
入力値を2進で考えて、セットされているビットの中で最下位のものの位置を返します。 このマクロは関数 ffs()とよく似ていますが、このマクロでは評価をコンパイラ時に行い、コンパイル時定数表現だけを受け、最終的に単なる定数となります。コンパイル時定数でない表現式を与えるのは推奨できません。変数を入れると大きなコードが生成されます。
|
|
入力値を2進で考えて、セットされているビットの中で最下位のものの位置を返します。
|
|
ffs() と同じですが、引数として long を受け入れます。 |
|
ffs() と同じですが、引数として long long を受け入れます。 |
|
メモリ領域をコピーします。 memccpy() 関数はsrcから始まる領域から、destで始まる領域へ、valに一致する文字が出現するまでコピーを行います。valに一致する文字がなかった場合は(len)バイトコピーした後終了します。
|
|
文字検索 memchr() 関数はsrcで示されるメモリ領域から(len)バイトの範囲で、最初にvalに一致する文字を探してその位置のアドレスを返します。
|
|
メモリエリアの比較 memcmp() 関数はメモリエリアs1とs2からlenバイトを比較します。文字比較はunsigned charとして(辞書順で)行われます。
|
|
メモリ領域をコピーします。 memcpy() 関数は srcが指すメモリエリアから len バイト destが指すエリアにコピーします。srcとdestメモリエリアは重なり合っていてはいけません。メモリエリアが重なり合う場合のコピーは、 memmove() をお使いください。
|
|
メモリ領域をコピーします。 memmove() 関数は 関数は srcが指すメモリエリアから len バイト destが指すエリアにコピーします。srcとdestメモリエリアは重なり合っていてもOKです。
|
|
メモリ領域を同じ値で埋めます。 memset() 関数は dest が指すメモリエリアの len バイト分を 値 val で埋めます。
|
|
2つの文字列を大小文字を無視して比較します。 strcasecmp() 関数は 2つの文字列 s1とs2を大小文字を無視して比較します。関数は 2つの文字列 s1とs2を大小文字を無視して比較します。
|
|
2つの文字列を結合する strcat() 関数は src 文字列を dest 文字列の末尾に追加します。dest 末尾の'\0'は重ね書きされ、srcのコピーが追加された後に文字列終端の'\0'が付加されます。文字列領域は重なり合っていてはいけません。dest 文字列は追加されるのに充分な領域が必要です。
|
|
文字列の中から指定の文字の位置を捜します。 strchr() 関数は 文字 val を文字列 src から探し、最初に見つかった位置をポインタで返します。 ここで云う "文字" とは、 "byte" を意味します - これらの関数はマルチバイト文字では使えません。
|
|
2つの文字列を比較する strcmp() 関数は s1とs2の2つの文字列を比較します。
|
|
文字列をコピーする strcpy() 関数は src が指す文字列(終端の
|
|
2つの文字列を結合する。 src 文字列を dst 文字列に、最大 siz だけ追加する。 strncat()と異なり、siz は dst のフルサイズ(NIL含む)です。dst には、最大 siz-1 文字が収められます。(sizが文字配列dstのサイズ以下である限りは)常に文字列終端はNUL文字となります。
|
|
文字列をコピーする。 src 文字列を、文字配列 dst に、最大 siz(終端NUL含む)だけコピーする。( siz != 0なら) 最大 siz-1 文字がコピーされます。
|
|
文字列の長さを調べる strlen() 関数は 文字列 src の長さ(終端文字NULまでの収容文字数)を返します。終端文字NUL('\0')は数に含まれません。
|
|
文字列中の英文字を英小文字に変換 strlwr() 関数は、文字列中の英大文字
|
|
2つの文字列を大小文字の違いを無視して比較します。 strncasecmp() 関数は strcasecmp() 関数に似ていますが、s1の最初の n 文字だけを比較する点が異なります。
|
|
2つの文字列を結合する。 strncat() 関数は strcat() 関数と似ていますが、src の最初の n 文字だけが dest に追加される点が異なります。
|
|
2つの文字列を比較する strncmp() 関数は strcmp() と似ていますが、 最初の n 文字だけを比較します。
|
|
文字列をコピーする。 strncpy() 関数は strcpy() と似ていますが、 srcの最初の n 文字だけをコピーします。srcのこの範囲に終端文字NULがなければ、dest に納められるコピー結果には適切なNUL終端文字がつけられません。 文字列srcの長さが n より小さい場合は、 dest の残り部分は NULで埋められます。
|
|
固定サイズ文字列の長さを決定する strnlen 関数はsrc が指す文字列の文字数(終端文字NULを除く)を返します。ただし、最大
|
|
文字列内のある文字を検索する strrchr() 関数は文字列 src 内で、val と値が一致する最後の文字を指すポインタを返します。 ここで「文字」というのは「バイト」を意味します。マルチバイト文字には対応できません。
|
|
文字列を反転する strrev() 関数は 文字列の順序を反転します。※"ABCD"→"DCBA"
|
|
文字列をトークン解析します。 strsep() 関数は 文字列
|
|
部分文字列の位置を求める strstr() 関数は s2 と合致する部分文字列を 文字列
s1 の中から捜します。文字列終端の
|
|
文字列 s をトークン解析する strtok_r は文字列 s をトークンに分解します。strtok_rの最初のコールは最初の引数として文字列を持っていなければなりません。続く呼び出しは最初の引数を
NULL とします。トークンが区切り文字で終わっている場合は、区切り文字は
|
|
文字列中の英文字を英大文字に変換 strupr() 関数は文字列中の英小文字
|