isalnum.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | /*
ctype.h [isalnum] (alpha + num)
書式: int isalnum(int c)
機能: 英数字を判定
引数: int c: 判定する文字
戻り値: 英数字 (A~Z, a~z, 0~9) であれば, 0 以外を返し (!= 0)
英数字でなければ, 0 を返す.
*/
/*
ctype.h [isalpha] (alpha)
書式: int isalpha(int c)
機能: 英字を判定
引数: int c: 判定する文字
戻り値: 英字 (A~Z, a~z) であれば, 0 以外を返し (!= 0)
英字でなければ, 0 を返す.
*/
#include <stdio.h>
#include <ctype.h>
int main(void){
int i;
char str[] = "Aa Bb 1-2*3 Cc";
printf("英文字と数値を残す: ");
for(i = 0; i < 15; i++){
if( isalnum(str[i]) != 0 )
printf("%c", str[i]);
}
printf("\n英文字だけを残す: ");
for(i = 0; i < 15; i++){
if( isalpha(str[i]) != 0 )
printf("%c", str[i]);
}
printf("\n");
return 0;
}
|
isalnum.c の実行結果は:
[cactus:~/code_c/refer]% ./isalnum
英文字と数値を残す: AaBb123Cc
英文字だけを残す: AaBbCc
isdigit.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | /*
ctype.h [isdigit] (num)
書式: int isdigit(int c)
機能: 数値判定
引数: int c: 判定する文字
戻り値: 数値 (0~9) であれば, 0 以外を返し (!= 0)
数値でなげらば, 0 を返す.
*/
/*
ctype.h [isxdigit] (16進数)
書式: int isdigit(int c)
機能:16 進数を判定
引数: int c: 判定する文字
戻り値: 16 進数 (0~9, A~F, a~f) であれば, 0 以外を返し (!= 0)
16 進数でなければ, 0 を返す.
*/
#include <stdio.h>
#include <ctype.h>
int main(void){
int i;
char str[] = "Aa Bb 1-2*3 Cc";
printf("数値を残す: ");
for(i = 0; i < 15; i++){
if( isdigit(str[i]) != 0 )
printf("%c", str[i]);
}
printf("\n16 進数だけを残す: ");
for(i = 0; i < 15; i++){
if( isxdigit(str[i]) != 0 )
printf("%c", str[i]);
}
printf("\n");
return 0;
}
|
isdigit.c の実行結果は:
[cactus:~/code_c/refer]% ./isdigit
数値を残す: 123
16 進数だけを残す: AaBb123Cc
isupper.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | /*
ctype.h [isupper]
書式: int isupper(int c)
機能: 大文字を判定
引数: int c: 判定する文字
戻り値: 大文字 (A~Z) であれば, 0 以外を返し (!= 0)
大文字でなげらば, 0 を返す.
*/
/*
ctype.h [islower]
書式: int islower(int c)
機能: 小文字を判定
引数: int c: 判定する文字
戻り値: 小文字 (a~z) であれば, 0 以外を返し (!= 0)
小文字でなければ, 0 を返す.
*/
#include <stdio.h>
#include <ctype.h>
int main(void){
int i;
char str[] = "Aa Bb 1-2*3 Cc";
printf("大文字だけを残す: ");
for(i = 0; i < 15; i++){
if( isupper(str[i]) != 0 )
printf("%c", str[i]);
}
printf("\n小文字だけを残す: ");
for(i = 0; i < 15; i++){
if( islower(str[i]) != 0 )
printf("%c", str[i]);
}
printf("\n");
return 0;
}
|
isupper.c の実行結果は:
[cactus:~/code_c/refer]% ./isupper
大文字だけを残す: ABC
小文字だけを残す: abc
isspace.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | /*
ctype.h [isspace]
書式: int isspace(int c)
機能: 空白を判定
引数: int c: 判定する文字
戻り値:
空白 (0x20), 水平タブ (0x09),
垂直タブ (0x0B), 改行 (0x0A),
復帰 (0x0D), 改頁 (0x0C)
であれば, 0 以外を返し (!= 0)
そうでなげらば, 0 を返す.
*/
/*
ctype.h [ispunct]
書式: int ispunct(int c)
機能: 記号を判定
引数: int c: 判定する文字
戻り値: 記号(
0x21 ~ 0x2F, 0x3A ~ 0x40,
0x5B ~ 0x60, 0x7B ~ 0x7E
)
であれば, 0 以外を返し (!= 0)
記号でなければ, 0 を返す.
*/
/*
ctype.h [iscntrl]
書式: int iscntrl(int c)
機能: 制御文字を判定
引数: int c: 判定する文字
戻り値: 制御文字(
0x00 ~ 0x1F, 0x7F
)
であれば, 0 以外を返し (!= 0)
制御文字でなければ, 0 を返す.
*/
#include <stdio.h>
#include <ctype.h>
int main(void){
int i;
int space_num = 0;
char str[] = "Aa Bb 1-2*3 Cc";
printf("記号だけを残す: ");
for(i = 0; i < 15; i++){
if( ispunct(str[i]) != 0 )
printf("%c", str[i]);
}
printf("\n空白の数: ");
for(i = 0; i < 15; i++){
if( isspace(str[i]) != 0 )
space_num++;
}
printf("%d\n", space_num);
return 0;
}
|
isspace.c の実行結果は:
[cactus:~/code_c/refer]% ./isspace
記号だけを残す: -*
空白の数: 3
isprint
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | /*
ctype.h [isprint]
書式: int isprint(int c)
機能: 空白を含む, 表示文字判定
引数: int c: 判定する文字
戻り値: 表示文字 (0x20 ~ 0x7E)
であれば, 0 以外を返し (!= 0)
表示文字でなげらば, 0 を返す.
*/
/*
ctype.h [isgraph]
書式: int isgraph(int c)
機能: 空白を除く, 表示文字判定
引数: int c: 判定する文字
戻り値: 表示文字 (0x21 ~ 0x7E)
であれば, 0 以外を返し (!= 0)
表示文字でなげらば, 0 を返す.
*/
#include <stdio.h>
#include <ctype.h>
int main(void){
int i;
char str[] = "Aa Bb 1-2*3 Cc";
printf("空白を含む表示文字を残す: ");
for(i = 0; i < 15; i++){
if( isprint(str[i]) != 0 )
printf("%c", str[i]);
}
printf("\n空白を除く表示文字だけを残す: ");
for(i = 0; i < 15; i++){
if( isgraph(str[i]) != 0 )
printf("%c", str[i]);
}
printf("\n");
return 0;
}
|
isprint.c の実行結果は:
[cactus:~/code_c/refer]% ./isprint
空白を含む表示文字を残す: Aa Bb 1-2*3 Cc
空白を除く表示文字だけを残す: AaBb1-2*3Cc
tolower
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | /*
ctype.h [tolower]
書式: int tolower(int c)
機能: 大文字を小文字に変換
引数: int c: 変換する文字
戻り値: 大文字 (A~Z) であれば, 小文字に変換した値を返し (!= 0)
大文字でなければ, 無変換のまま返す.
*/
/*
ctype.h [toupper]
書式: int toupper(int c)
機能: 小文字を大文字に変換
引数: int c: 変換する文字
戻り値: 小文字 (a~z) であれば, 大文字に変換した値を返し,
小文字でなければ, 無変換のままを返す.
*/
#include <stdio.h>
#include <ctype.h>
int main(void){
int i;
char str[] = "Aa Bb 1-2*3 Cc";
printf("大文字を小文字に変換: ");
for(i = 0; i < 15; i++){
str[i] = tolower(str[i]);
}
printf("%s\n", str);
printf("小文字を大文字に変換: ");
for(i = 0; i < 15; i++){
str[i] = toupper(str[i]);
}
printf("%s\n", str);
return 0;
}
|
tolower.c の実行結果は:
[cactus:~/code_c/refer]% ./tolower
大文字を小文字に変換: aa bb 1-2*3 cc
小文字を大文字に変換: AA BB 1-2*3 CC