文字の処理のために、表
1のようなライブラリー関数が、c言語には用意されている。プログラムを作成するときに、つかう。ただし、これを覚える必要はない。こんなものがあった程度でよい。
表 1:
1文字処理関関数。#include <ctype.h>が必要。変数は、int c;。
関数名 |
動作 |
isalnum(c) |
英数字なら真 |
isalpha(c) |
英文字なら真 |
iscntrl(c) |
制御文字なら真 |
isdigit(c) |
数字なら真 |
isgraph(c) |
印字可能文字なら真 |
islower(c) |
小文字なら真 |
isprint(c) |
空白以外の印字可能文字なら真 |
ispunct(c) |
区切り文字なら真 |
isspace(c) |
空白類文字なら真 |
isupper(c) |
大文字なら真 |
isxdigit(c) |
16進表示文字なら真 |
tolower(c) |
文字cを小文字に変換 |
toupper(c) |
文字cを大文字に変換 |
文字列の処理のために、表
2のようなライブラリー関数が、c言語には用意されている。プログラムを作成するときに、つかう。ただし、これを覚える必要はない。こんなものがあった程度でよい。
表 2:
文字列処理関関数。#include <string.h>が必要。変数は、char s1[256],s2[256];のように文字型の配列。配列のサイズは、処理に必要なサイズよりも大きいこと(256とは限らない)。cは文字型の変数、char c;である。
関数名 |
動作 |
strlen(s1) |
文字列s1の長さ、すなわち文字数を整数値返す。 |
strcpy(s1,s2) |
s1に、文字列s2をコピーする。 |
strcat(s1,s2) |
文字列s1の後に、文字列s2をコピーする。 |
strcmp(s1,s2) |
文字列s1とs2を比較する。 |
s1 > s2 の場合、戻り値は正 |
s1 == s2 の場合、戻り値は0 |
s1 < s2 の場合、戻り値は負 |
strncpy(s1,s2,n) |
s1に文字列s2の先頭からn文字をコピーする。 |
strncat(s1,s2,n) |
文字列s1の後にと文字列s2の先頭からn文字を連結する。 |
strncmp(s1,s2,n) |
文字列s1と文字列s2の先頭からn文字を比較する。比較の結果は、srcmpと同じ。 |
strchr(s1,c) |
文字列s1の中の文字cの位置を整数で返す。文字がないときは、NULLを返す。 |
strstr(s1,s2) |
文字列S1の中にある文字列S1の位置を整数で返す。もし、文字列がない場合、NULLを返す。 |
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
平成16年12月25日