Linux常用C函式—字元測試篇(轉)

BSDLite發表於2007-08-11
Linux常用C函式—字元測試篇(轉)[@more@]isalnum(測試字元是否為英文或數字)
相關函式 isalpha,isdigit,islower,isupper

表標頭檔案 #include

定義函式 int isalnum (int c)

函式說明 檢查引數c是否為英文字母或阿拉伯數字,在標準c中相當於使用“isalpha(c) || isdigit(c)”做測試。

返回值 若引數c為字母或數字,則返回TRUE,否則返回NULL(0)。

附加說明 此為宏定義,非真正函式。

範例 /* 找出str 字串中為英文字母或數字的字元*/
#include < ctype.h>
main()
{
char str[]=”123c@#FDsP[e?”;
int i;
for (i=0;str!=0;i++ )
if ( isalnum(str)) printf(“%c is an alphanumeric character ”,str);
}

執行 1 is an apphabetic character
2 is an apphabetic character
3 is an apphabetic character
c is an apphabetic character
F is an apphabetic character
D is an apphabetic character
s is an apphabetic character
P is an apphabetic character
e is an apphabetic character

 




isalpha (測試字元是否為英文字母)
相關函式 isalnum,islower,isupper

表標頭檔案 #include

定義函式 int isalpha (int c)

函式說明 檢查引數c是否為英文字母,在標準c中相當於使用“isupper(c)||islower(c)”做測試。

返回值 若引數c為英文字母,則返回TRUE,否則返回NULL(0)。

附加說明 此為宏定義,非真正函式。

範例 /* 找出str 字串中為英文字母的字元*/
#include
main()
{
char str[]=”123c@#FDsP[e?”;
int i;
for (i=0;str!=0;i++)
if(isalpha(str)) printf(“%c is an alphanumeric character ”,str);
}

執行 c is an apphabetic character
F is an apphabetic character
D is an apphabetic character
s is an apphabetic character
P is an apphabetic character
e is an apphabetic character

 




isascii(測試字元是否為ASCII 碼字元)
相關函式 iscntrl

表標頭檔案 #include

定義函式 int isascii(int c);

函式說明 檢查引數c是否為ASCII碼字元,也就是判斷c的範圍是否在0到127之間。

返回值 若引數c為ASCII碼字元,則返回TRUE,否則返回NULL(0)。

附加說明 此為宏定義,非真正函式。

範例 /* 判斷int i是否具有對映的ASCII碼字元*/
#include
main()
{
int i;
for(i=125;i<130;i++)
if(isascii(i))
printf("%d is an ascii character:%c ",i,i);
else
printf("%d is not an ascii character ",i);
}

執行 125 is an ascii character:}
126 is an ascii character:~
127 is an ascii character:
128 is not an ascii character
129 is not an ascii character

 




iscntrl(測試字元是否為ASCII 碼的控制字元)
相關函式 isascii

表標頭檔案 #include

定義函式 int iscntrl(int c);

函式說明 檢查引數c是否為ASCII控制碼,也就是判斷c的範圍是否在0到30之間。

返回值 若引數c為ASCII控制碼,則返回TRUE,否則返回NULL(0)。

附加說明 此為宏定義,非真正函式。

 




isdigit(測試字元是否為阿拉伯數字)
相關函式 isxdigit

表標頭檔案 #include

定義函式 int isdigit(int c)

函式說明 檢查引數c是否為阿拉伯數字0到9。

返回值 若引數c為阿拉伯數字,則返回TRUE,否則返回NULL(0)。

附加說明 此為宏定義,非真正函式。

範例 /* 找出str字串中為阿拉伯數字的字元*/
#include
main()
{
char str[]="123@#FDsP[e?";
int i;
for(i=0;str!=0;i++)
if(isdigit(str)) printf("%c is an digit character ",str);
}

執行 1 is an digit character
2 is an digit character
3 is an digit character

 




isgraphis(測試字元是否為可列印字元)
相關函式 isprint

表標頭檔案 #include

定義函式 int isgraph (int c)

函式說明 檢查引數c是否為可列印字元,若c所對映的ASCII碼可列印,且非空格字元則返回TRUE。

返回值 若引數c為可列印字元,則返回TRUE,否則返回NULL(0)。

附加說明 此為宏定義,非真正函式。

範例 /* 判斷str字串中哪些為可列印字元*/
#include
main()
{
char str[]="a5 @;";
int i;
for(i=0;str!=0;i++)
if(isgraph(str)) printf("str[%d] is printable character:%d ",i,str);
}

執行 str[0] is printable character:a
str[1] is printable character:5
str[3] is printable character:@
str[4] is printable character:;

 




islower(測試字元是否為小寫字母)
相關函式 isalpha,isupper

表標頭檔案 #include

定義函式 int islower(int c)

函式說明 檢查引數c是否為小寫英文字母。

返回值 若引數c為小寫英文字母,則返回TRUE,否則返回NULL(0)。

附加說明 此為宏定義,非真正函式。

範例 #include
main()
{
char str[]="123@#FDsP[e?";
int i;
for(i=0;str!=0;i++)
if(islower(str)) printf("%c is a lower-case character ",str);
}

執行 c is a lower-case character
s is a lower-case character
e is a lower-case character

 




isprint(測試字元是(否為可列印字元)
相關函式 isgraph

表標頭檔案 #include

定義函式 int isprint(int c);

函式說明 檢查引數c是否為可列印字元,若c所對映的ASCII碼可列印,其中包含空格字元,則返回TRUE。

返回值 若引數c為可列印字元,則返回TRUE,否則返回NULL(0)。

附加說明 此為宏定義,非真正函式。

範例 /* 判斷str字串中哪些為可列印字元包含空格字元*/
#include
main()
{
char str[]="a5 @;";
int i;
for(i=0;str!=0;i++)
if(isprint(str)) printf("str[%d] is printable character:%d ",i,str);
}

執行 str[0] is printable character:a
str[1] is printable character:5
str[2] is printable character:
str[3] is printable character:@
str[4] is printable character:;

 




isspace(測試字元是否為空格字元)
相關函式 isgraph

表標頭檔案 #include

定義函式 int isspace(int c)

函式說明 檢查引數c是否為空格字元,也就是判斷是否為空格('')、定位字元(' ')、CR(' ')、換行(' ')、垂直定位字元('v')或翻頁('f')的情況。

返回值 若引數c為空格字元,則返回TRUE,否則返回NULL(0)。

附加說明 此為宏定義,非真正函式。

範例 /*將字串str[]中內含的空格字元找出,並顯示空格字元的ASCII碼*/
#include
main()
{
char str="123c @# FD sP[e? ";
int i;
for(i=0;str!=0;i++)
if(isspace(str))
printf("str[%d] is a white-space character:%d ",i,str);
}

執行 str[4] is a white-space character:32
str[7] is a white-space character:32
str[10] is a white-space character:9 /* */
str[16] is a white-space character:10 /* */

 




ispunct(測試字元是否為標點符號或特殊符號)
相關函式 isspace,isdigit,isalpha

表標頭檔案 #inlude

定義函式 int ispunct(int c)

函式說明 檢查引數c是否為標點符號或特殊符號。返回TRUE也就是代表引數c為非空格、非數字和非英文字母。

返回值 v若引數c為標點符號或特殊符號,則返回TRUE,否則返回NULL(0)。

附加說明 此為宏定義,非真正函式。

範例 /*列出字串str中的標點符號或特殊符號*/
#include
main()
{
char str[]="123c@ #FDsP[e?";
int i;
for(i=0;str!=0;i++)
if(ispunct(str)) printf("%c ",str);
}

執行 v
@#[?

 




isupper(測試字元是否為大寫英文字母)
相關函式 isalpha,islower

表標頭檔案 #include

定義函式 int isupper(int c)

函式說明 檢查引數c是否為大寫英文字母。

返回值 若引數c為大寫英文字母,則返回TRUE,否則返回NULL(0)。

附加說明 此為宏定義,非真正函式。

範例 /*找出字串str中為大寫英文字母的字元*/
#include
main()
{
char str[]="123c@#FDsP[e?";
int i;
for(i=0;str!=0;i++)
if(isupper(str)) printf("%c is an uppercase character ",str);
}

執行 F is an uppercase character
D is an uppercase character
P is an uppercase character

 




isxdigit(測試字元是否為16進位制數字)
相關函式 isalnum,isdigit

表標頭檔案 #include

定義函式 int isxdigit (int c)

函式說明 檢查引數c是否為16進位制數字,只要c為下列其中一個情況則返回TRUE。16進位制數字:0123456789ABCDEF。

返回值 若引數c為16進位制數字,則返回TRUE,否則返回NULL(0)。

附加說明 此為宏定義,非真正函式。

範例 /*找出字串str中為十六進位制數字的字元*/
#include
main()
{
char str[]="123c@#FDsP[e?";
int i;
for(i=0;str!=0;i++)
if(isxdigit(str)) printf("%c is a hexadecimal digits ",str);
}

執行 1 is a hexadecimal digits
2 is a hexadecimal digits
3 is a hexadecimal digits
c is a hexadecimal digits
F is a hexadecimal digits
D is a hexadecimal digits
e is a hexadecimal digits

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-945647/,如需轉載,請註明出處,否則將追究法律責任。

相關文章