[學習標準庫]ctype.h

概述:

  ctype.h爲我們提供了很多了與字符相關的判斷或處理函數,方便地對字符做判斷和轉換大小寫等處理。

 

  下面以函數爲單位進行學習。

 

  isalnum

  功能:

  測試傳入參數其對應的ASCII符號是否爲數字或英文字母,當傳入參數爲A~Z、a~z、0~9,則函數返回非零值,否則返回零。

  返回非零值的狀況:傳入字符A~Z、a~z、0~9或數65~90、97~122、48~57。

 

  isalpha

  功能:

  測試傳入參數其對應的ASCII符號是否爲英文字母,當傳入參數爲A~Z、a~z,則函數返回非零值,否則返回零。

  返回非零值的狀況:傳入字符A~Z、a~z或數65~90、97~122。

 

  isdigit

  功能:

  測試傳入參數其對應的ASCII符號是否爲阿拉伯數字,當傳入參數爲0~9,則函數返回非零值,否則返回零。

  返回非零值的狀況:傳入字符0~9,或數48~57。

 

  isxdigit

  功能:

  測試傳入參數是否爲十六進制數字字符,當傳入參數爲0~9、A~F、a~f,則函數返回非零值,否則返回零。

  返回非零值的狀況:傳入字符0~9、a~f、A~F或數48~57、65~70、97~102。

 

  isupper

  功能:

  測試傳入參數是否爲大寫英文字母,當傳入參數爲A~Z,則函數返回非零值,否則返回零。

  返回非零值的狀況:傳入字符A~Z或數97~122。

 

  islower

  功能:

  測試傳入參數是否爲小寫英文字母,當傳入參數爲a~z,則函數返回非零值,否則返回零。

  返回非零值的狀況:傳入字符a~z或數97~122。

 

  isascii

  功能:

  測試傳入參數是否爲有效的ASCII字符,當傳入參數爲有效的ASCII標準字符時,函數返回非零值,否則返回零。

  返回非零值的狀況:傳入對應ASCII碼爲0~127的字符或者傳入數0~127。

 

  isgraph

  功能:

  測試傳入參數是否爲除空格外的可輸出字符,是則返回非零值,否則返回零。

  返回非零值的狀況:傳入對應ASCII碼爲33~126的字符或者傳入數33~126。

 

  isprint

  功能:

  測試傳入參數是否爲可輸出字符,是則返回非零值,否則返回零

  返回非零值的狀況:傳入對應ASCII碼爲32~126的字符或者傳入數32~126。

 

  isspace

  功能:

  測試傳入參數是否爲空字符,是則返回非零值,否則返回零。

  返回非零值的狀況:傳入對應ASCII碼爲9、10、11、12、13、32的字符或者這幾個數。

 

  iscntrl

  功能:

  測試傳入參數是否爲控制字符,當傳入參數爲控制字符時,函數返回非零值,否則返回零。

  返回非零值的狀況:傳入對應ASCII碼爲0~31、127的字符或者這些數。 

 

  ispunct  

  功能:

  測試傳入參數是否爲標點符號,是則函數返回非零值,否則返回零。

  返回非零值的狀況:傳入對應ASCII碼爲33~47、58~64、91~96、123~126的字符或這些數。 

 

  iscsym

  功能:

  測試傳入參數是否爲英文字母、下劃線或者數字,若是則函數返回非零值,否則返回零。

  返回非零值的狀況:傳入字符0~9、A~Z、_、a~z或數48~57、65~90、95、97~122。

 

  toupper

  功能:

  將輸入的小寫英文字母轉換爲大寫英文字母,若傳入的不爲小寫英文字母,則返回原字符。

  注:_toupper與其處理方式不同,是均返回 (原字符-32) 。

 

  tolower 

  功能:

  將輸入的大寫英文字母轉換爲小寫英文字母,若傳入的不爲大寫英文字母,則返回原字符。

  注:_tolower與其處理方式不同,是均返回  (原字符+32)  。

 

  另:

  以上函數均適用於標準ASCII碼的相關處理,即0~127範圍,該頭文件中也提供了處理寬字符時相應的函數版本,即形如iswalnum、iswalpha等,功能與此類似,在此就不一一列舉,對以上大部分函數可以使用以下程序來做一個簡單的測試:

 

#include <iostream>
#include <cctype>

int main()
{
    int i;
    for(i=0; i<128; i++)
    {
        int j = 要測試的函數名(i);
        char c = i;
        if(0!=j)
            std::cout << i << '\t' << c << std::endl;
    }
    return 0;
}

 

  以上內容撰寫時參考:

  《C++函數庫查詢辭典》 中國鐵道出版社

  WinIDE庫函數使用手冊 http://www.ggv.com.cn/forum/clib/clib.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章