MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
C言語の基礎 - 文字のソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
C言語の基礎 - 文字
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 文字がアルファベットかどうかをチェックする == C言語で文字がアルファベットかどうかをチェックするには、ctype.hのisalpha関数を使用する。<br> isalpha関数は、指定した文字がアルファベット('A' - 'Z', 'a' - 'z')なら真(0以外)を返す関数である。<br> <source lang="c++"> #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main() { int ch = getchar(); /* 入力チェック */ if(isalpha((unsigned char)ch)) { puts("入力された文字はアルファベットです"); } else { puts("入力された文字はアルファベットではありません"); } return EXIT_SUCCESS; } </syntaxhighlight> <br><br> == 文字がアルファベットの小文字かどうかをチェックする == C言語で文字がアルファベットの小文字かどうかをチェックするには、ctype.hのislower関数を使用する。<br> islower関数は、指定した文字がアルファベットの小文字('a' - 'z')なら真(0以外)を返す関数である。<br> <source lang="c++"> #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main() { int ch = getchar(); /* 入力チェック */ if(islower((unsigned char)ch)) { puts("入力された文字はアルファベットの小文字です"); } else { puts("入力された文字はアルファベットの小文字ではありません"); } return EXIT_SUCCESS; } </syntaxhighlight> <br><br> == 文字がアルファベットの大文字かどうかをチェックする == C言語で文字がアルファベットの大文字かどうかをチェックするには、ctype.hのisupper関数を使用する。<br> isupper関数は、指定した文字がアルファベットの大文字('A' - 'Z')なら真(0以外)を返す関数である。<br> <source lang="c++"> #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main() { int ch = getchar(); /* 入力チェック */ if(isupper((unsigned char)ch)) { puts("入力された文字はアルファベットの大文字です"); } else { puts("入力された文字はアルファベットの大文字ではありません"); } return EXIT_SUCCESS; } </syntaxhighlight> <br><br> == 文字がアルファベットもしくは数字かどうかをチェックする == C言語で文字がアルファベットもしくは数字かどうかをチェックするには、ctype.hのisalnum関数を使用する。<br> isalnum関数は、指定した文字がアルファベットもしくは数字('A' - 'Z', 'a' - 'z', '0' - '9')なら真(0以外)を返す関数である。<br> <source lang="c++"> #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main() { int ch = getchar(); /* 入力チェック */ if(isalnum((unsigned char)ch)) { puts("入力された文字はアルファベットか数字です"); } else { puts("入力された文字はアルファベットでも数字でもありません"); } return EXIT_SUCCESS; } </syntaxhighlight> <br><br> == 文字が10進数の数字かどうかをチェックする == C言語で文字が10進数の数字かどうかをチェックするには、ctype.hのisdigit関数を使用する。<br> isdigit関数は、指定した文字が10進数の数字('0' - '9')なら真(0以外)を返す関数である。<br> <source lang="c++"> #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main() { int ch = getchar(); /* 入力チェック */ if(isdigit((unsigned char)ch)) { puts("入力された文字は10進数の数字です"); } else { puts("入力された文字は10進数の数字ではありません"); } return EXIT_SUCCESS; } </syntaxhighlight> <br><br> == 文字が16進数の数字かどうかをチェックする == C言語で文字が16進数の数字かどうかをチェックするには、ctype.hのisxdigit関数を使用する。<br> isxdigit関数は、指定した文字が16進数の数字('0' - '9', 'A' - 'F', 'a' - 'f')なら真(0以外)を返す関数である。<br> <source lang="c++"> #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main() { int ch = getchar(); /* 入力チェック */ if(isxdigit((unsigned char)ch)) { puts("入力された文字は16進数の数字です"); } else { puts("入力された文字は16進数の数字ではありません"); } return EXIT_SUCCESS; } </syntaxhighlight> <br><br> == 文字が空白文字かどうかをチェックする == C言語で文字が空白文字かどうかをチェックするには、if文を使用して文字が' 'と等しいかを判定するだけでよい。<br> isspace関数やisblank関数は水平タブなど他の文字も真と判定するため、単に空白かそうでないかを判定する場合は、<br> これらの関数は使用しない方が無難である。<br> <source lang="c++"> #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main() { int c[] = {' ', '\t', '\f', '\n', '\r', '\v', 'a', '9'}; char *s[] = {"空白", "水平タブ", "書式送り", "改行", "復帰", "垂直タブ", "文字 'a'", "数字 '9'"}; for(int i = 0; i < 8; i++) { /* 文字チェック */ if(c[i] == ' ') { printf("%s ==> 真\n", s[i]); } else { printf("%s ==> 偽\n", s[i]); } } return EXIT_SUCCESS; } </syntaxhighlight> <br><br> == 文字が表示文字かどうかをチェックする == C言語で文字が表示文字かどうかをチェックするには、ctype.hのisprint関数を使用する。<br> isprint関数は、指定した文字が表示文字なら真(0以外)を返す関数である。<br> <source lang="c++"> #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main() { int c[] = {' ', '\t', '\f', '\n', '\r', '\v', 'a', '9'}; char *s[] = {"空白", "水平タブ", "書式送り", "改行", "復帰", "垂直タブ", "文字 'a'", "数字 '9'"}; for(int i = 0; i < 8; i++) { /* 文字チェック */ if(isprint(c[i])) { printf("%s ==> 真\n", s[i]); } else { printf("%s ==> 偽\n", s[i]); } } return EXIT_SUCCESS; } </syntaxhighlight> <br><br> == 文字が制御文字かどうかをチェックする == C言語で文字が制御文字かどうかをチェックするには、ctype.hのiscntrl関数を使用する。 iscntrl関数は、指定した文字が制御文字なら真(0以外)を返す関数である。 <source lang="c++"> #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main() { int c[] = {' ', '\t', '\f', '\n', '\r', '\v', 'a', '9'}; char *s[] = {"空白", "水平タブ", "書式送り", "改行", "復帰", "垂直タブ", "文字 'a'", "数字 '9'"}; for(int i = 0; i < 8; i++) { /* 文字チェック */ if(iscntrl(c[i])) { printf("%s ==> 真\n", s[i]); } else { printf("%s ==> 偽\n", s[i]); } } return EXIT_SUCCESS; } </syntaxhighlight> <br><br> == アルファベットの大文字を小文字に変換する == C言語でアルファベットの大文字を小文字に変換するには、ctype.hのtolower関数を使用する。<br> tolower関数は指定したint型の文字を小文字に変換して返す関数である。<br> <source lang="c++"> #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main() { int ch = getchar(); /* 文字を変換 */ ch = tolower((unsigned char)ch); printf("小文字 ==> %c\n", ch); return EXIT_SUCCESS; } </syntaxhighlight> <br><br> == アルファベットの小文字を大文字に変換する == C言語でアルファベットの小文字を大文字に変換するには、ctype.hのtoupper関数を使用する。<br> toupper関数は指定したint型の文字を大文字に変換して返す。<br> <source lang="c++"> #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main() { int ch = getchar(); /* 文字を変換 */ ch = toupper((unsigned char)ch); printf("大文字 ==> %c\n", ch); return EXIT_SUCCESS; } </syntaxhighlight> <br><br> __FORCETOC__ [[カテゴリ:C]]
C言語の基礎 - 文字
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse