iscntrl <ctype.h> <cctype>
原文:https://www.cplusplus.com/reference/clibrary/cctype/iscntrl/
int iscntrl ( int c );
檢查一個字符是否是控製字符
檢查字符c是否是一個控製字符
對於標準的ASCII字符表來說,控製字符是指那些ASCII碼在0x00 (NUL) 和 0x1f (US)之間的字符,加上0x7f (DEL)。另外一些特定平台的某些編譯器可能會把擴展字符(ASCII碼0x7f以後)定義為新增加的控製字符。
iscntrl和isprint是相反作用的函數。所有isprint返回true的字符,經過iscntrl判斷都返回false,不是控製字符。
想要得到不同的ctype函數在處理每個標準ANSII字符返回值的詳細圖表,請閱讀參考<cctype>頭文件。
在C++語言中,一個特定於語言環境模版版本的iscntrl函數存在於頭文件<locale>。
參數
c
待檢查字符,被轉換成一個整數或者EOF結束符。
返回值
如果事實上c是一個控製字符的話,返回值為非0(例如:true)。否則,返回值為0 (例如:false)。
實例
/* iscntrl example */ #include <stdio.h> #include <ctype.h> int main () { int i=0; char str[]="first line \n second line \n"; while (!iscntrl(str[i])) { putchar (str[i]); i++; } return 0; }
這份代碼打印通過while循環逐個打印字符,直到碰到一個控製字符,跳出循環,停止打印。這種情況下,隻有the first line 會被打印,因為這一行以控製字符'\n'(ASCII 碼0x0a)結尾。
請參閱
isgraph 檢測字符是否為可顯示字符(函數)
ispunct 檢測字符是否為標點符號(函數)
最後更新:2017-04-02 06:52:02