iscntrl <ctype.h> <cctype>

简介:

原文:http://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 检测字符是否为标点符号(函数)
相关文章
|
存储 算法 C++
C++中的字符串操作&lt;cstring&gt;和&lt;string&gt;的区别
目录 目录 参考资料 字符串 cstring和string的区别在哪 string类的实现 注意不要盲目相信以下内容! 不要盲目相信以下内容! 不要盲目相信以下内容! (重要的事情说三遍),虽然以下内容也经过了我的验证,但是我的验证可能有错误的地方,欢迎大家留言告知。
1330 0
错误 1 Files 的值“&lt;&lt;&lt;&lt;&lt;&lt;&lt; .mine”无效。路径中具有非法字符。
Microsoft Visual Studio 2010项目编译的时候,提示如下错误: 错误 1 Files 的值“&lt;&lt;&lt;&lt;&lt;&lt;&lt; .mine”无效。路径中具有非法字符。 解决办法:在你的工程OBJ/DEBUG目录下,找到 工程名.csproj.FileListAbsolute.txt的文件打开并删除含有'&lt;&lt;&lt;&lt;&lt;&l
2287 0
实现string类的操作符重载 + = &gt; &lt; == != &gt;&gt; &lt;&lt;
<pre code_snippet_id="596931" snippet_file_name="blog_20150203_1_6205569" name="code" class="objc">//MyString.h #pragma once #include &lt;iostream&gt; using namespace std; class MyString { priva
1388 0
|
C++
C++ 中cout&lt;&lt;endl的实现
话说像下面的语句,应该大家都明白这是通过重载operator
1003 0