≫ ホーム ≫ C言語ヘッダファイル別一覧 | C言語アルファベット別一覧 ≫ ctype.h ≫ ispunct
文字が区切り文字 (punctuation character) かどうかをチェックします.
#include <ctype.h>
int ispunct( int c /* int 型の文字 */ );
ispunct 関数は文字 c が区切り文字なら真を返します.
ここでの "区切り文字" とは,主に英文の句読点として使われる文字を指します.したがって,スペース (' ') や,タブ ('\t') は偽として判定されます.
デフォルトのロケール (locale) の設定 ("C" ロケール) で ispunct 関数が真を返す文字を以下に示します.
文字コード | 文字 | 文字コード | 文字 | 文字コード | 文字 |
---|---|---|---|---|---|
0x21 | ! | 0x2c | , | 0x5b | [ |
0x22 | " | 0x2d | - | 0x5c | \ |
0x23 | # | 0x2e | . | 0x5d | ] |
0x24 | $ | 0x2f | / | 0x5e | ^ |
0x25 | % | 0x3a | : | 0x5f | _ |
0x26 | & | 0x3b | ; | 0x60 | ` |
0x27 | ' | 0x3c | < | 0x7b | { |
0x28 | ( | 0x3d | = | 0x7c | | |
0x29 | ) | 0x3e | > | 0x7d | } |
0x2a | * | 0x3f | ? | ||
0x2b | + | 0x40 | @ |
ispunct 関数を使用して,入力された文字が区切り文字かどうかをチェックするサンプルプログラムを以下に示します.
/* header files */
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
/* main */
int main(void) {
int c[] = {' ', '!', '\"', '#', '$',
'%', '&', '\'', '(', ')',
'*', '+', ',', '-', '.', '/', '0'};
int i;
for ( i = 0; i < 17; i++ ) {
/* 文字チェック */
if ( ispunct(c[i])) {
printf("%c ==> 真\n", c[i]);
} else {
printf("%c ==> 偽\n", c[i]);
}
}
return EXIT_SUCCESS;
}
サンプルプログラムの実行結果は以下のようになります.
==> 偽 ! ==> 真 " ==> 真 # ==> 真 $ ==> 真 % ==> 真 & ==> 真 ' ==> 真 ( ==> 真 ) ==> 真 * ==> 真 + ==> 真 , ==> 真 - ==> 真 . ==> 真 / ==> 真 0 ==> 偽
たくさんあるC言語関連の書籍の中でも特に役に立った本です.よかったら参考にしてみてください.
C言語の実践的参考書.少々値段は張りますが初心者を脱しようとしている人は絶対に読むべきです.
文法だけでなく,コーディングスタイルやデバッグなど文字通り「実践的」なことが書かれているので非常にためになります.
オライリーの本は,読みにくい本が多いのですが本書はとても読みやすくオススメです.
ポインタの解説書としては最高の書籍です.
この1冊でポインタを完全に理解することができます.全くの初学者が読むには敷居が高いですが,入門書を読み終えた後に読むと非常に有益です.