【C言語】文字列 / String
【C言語】
文字列 / String
文字列処理関数】
ヘッダ: string.h
関数名 | 説明 |
memchr | 文字を n バイト中から検索する |
memcmp | nバイトメモリブロックの比較 |
memcpy | nバイトメモリブロックのコピー |
memmove | nバイトメモリブロックの移動 |
memset | nバイトメモリブロックのセット |
strcat | 文字列の連結 |
strchr | 文字列の先頭から文字を検索する |
strcmp | 文字列の比較 |
strcpy | 文字列のコピー |
strcspn | 文字列から文字群が含まれない長さを求める |
strerror | エラー番号に対応するエラーメッセージを得る |
strlen | 文字列の長さの取得 |
strncat | 文字列をn文字連結 |
strncmp | 文字列をn文字比較 |
strncpy | 文字列をn文字コピー |
strpbrk | 文字列から文字群が見つかった位置を求める |
strrchr | 文字列の最後から文字を検索する |
strspn | 文字列から文字群が含まれる長さを求める |
strstr | 文字列1から文字列2を検索 |
strtok | 文字列を区切り文字で分解する |
文字列の代入
「str」をポインタとして宣言し、
「str」に格納されているポイントアドレスを先頭にして¥0までの間に文字を格納する。
|
char *str;
str = "ABC";
|
配列に文字列を代入する。 |
char str[] = "ABCDE"; |
配列に文字列を代入する。 |
char str[100]= "Sample Text"; |
文字列の参照
文字列全体の参照。 |
printf(“%s\n”,str); |
文字列の1文字を出力。 |
printf(“%c\n”,str[0]); |
文字列の分割
#include <string.h>
char *strtok(
char * restrict s1,
const char * restrict s2 /* 区切り文字列 */
);
strtok 関数は,s1 が指す文字列を,s2 が指す文字列の中のいずれかの文字で区切られる字句の列に分割する関数です.
strtok 関数は,若干動作にクセがありますので,先にサンプルプログラムを示します.
■戻り値:
文字列strの中をdlm(デリミッタ文字列)内の各デリミッタ文字で区切って、呼び出す毎に区切った(左側の)文字列のアドレスを返す。
返す文字列がなくなったらNULL(\0)を返す。
文字列から文字列へのコピー
#include <string.h>
char *strcpy(char *str1, char *str2);
文字列str1に文字列str2をコピーする。