文字関数 (ctype.h)

is で始まる以下の関数は、特定の種類の文字コードを受け取ったときに 0 以外 (真) を返し、そうでなければ 0 (偽) を返します。

int isalpha( int c );

英字 ('A' 〜 'Z''a' 〜 'z') ならば真。

int isupper( int c );

英大文字 ('A' 〜 'Z') ならば真。

int islower( int c );

英小文字 ('a' 〜 'z') ならば真。

int isalnum( int c );

英数字 ('0' 〜 '9''A' 〜 'Z''a' 〜 'z') ならば真。

int isdigit( int c );

数字 ('0' 〜 '9') ならば真。

int isxdigit( int c );

16 進数字 ('0' 〜 '9'、'A' 〜 'F'、'a' 〜 'f') ならば真。

int isspace( int c );

ホワイトスペース (' '、'\t'、'\r'、'\n'、'\v'、'\f') ならば真。

int isprint( int c );

表示可能文字 (20h 〜 7Eh) ならば真。

int isgraph( int c );

スペースを除く表示可能文字 (21h 〜 7Eh) ならば真。

int iscntrl( int c );

制御文字 (00h 〜 1Fh、7Fh) ならば真。

int ispunct( int c );

デリミタ (21h 〜 2Fh、3Ah 〜 40h、5Bh 〜 60h、7Bh 〜 7Eh) ならば真。

int isleadbyte( int c );
int
_iskanji( int c );

Shift-JIS 全角文字の第 1 バイト (81h 〜 9Fh、E0h 〜 FCh) ならば真。この 2 つの関数は同じです。

参照   mblen

int _iskanji2( int c );

Shift-JIS 全角文字の第 2 バイトとなり得る文字 (40h 〜 7Eh、80h 〜 FCh) ならば真。

int _iskana( int c );

半角カナ文字 (A6h 〜 DFh) または半角カナの記号 (A1h 〜 A5h) ならば真。

int _iskmoji( int c );

半角カナ文字 (A6h 〜 DFh) ならば真。

int _iskanji2nd( char* str, size_t idx );

str から始まる文字列の第 idx バイトが Shift-JIS 全角文字の第 2 バイトかどうかを判定します。str は、半角文字または全角第 1 バイトの位置を指している必要があります。この関数を使用すると、_iskanji2 とは異なり、文脈を考慮しながら確実に全角第 2 バイトを判別できます。

int toupper( int c );
int
tolower( int c );

toupper は、半角の英小文字を大文字に変換します。
tolower は、半角の英大文字を小文字に変換します。

wchar_t _jis2sjis( wchar_t jis );
wchar_t
_sjis2jis( wchar_t sjis );

_jis2sjis は、JIS コードを Shift-JIS コードに変換します。

_sjis2jis は、Shift-JIS コードを JIS コードに変換します。

JIS コードと Shift-JIS コードは、いずれも wchar_t 型の上位に第 1 バイトを、下位に第 2 バイトを入れて表現します。たとえば、文字「あ」は、JIS では 0x2422、Shift-JIS では 0x82A0 で表されます。
_jis2sjis( 0x2422 ) // 0x82A0 が返される
_sjis2jis( 0x82A0 ) // 0x2422 が返される
_sjis2jis( L'あ' ) // 0x2422 が返される