用C语言判断字符是否为空白字符或特殊字符的方法

 更新时间:2015年08月26日 08:58:00   投稿:goldensun  
这篇文章主要介绍了用C语言判断字符是否为空白字符或特殊字符的方法,分别为isspace()函数的使用和ispunct()函数的使用,需要的朋友可以参考下

C语言isspace()函数:判断字符是否为空白字符
头文件:

#include <ctype.h>

定义函数:

int isspace(int c);

函数说明:检查参数c是否为空格字符,也就是判断是否为空格(' ')、定位字符(' \t ')、CR(' \r ')、换行(' \n ')、垂直定位字符(' \v ')或翻页(' \f ')的情况。

返回值:若参数c 为空白字符,则返回非 0,否则返回 0。

附加说明:此为宏定义,非真正函数。

范例:将字符串str[]中内含的空格字符找出,并显示空格字符的ASCII 码。

#include <ctype.h>
main(){
  char str[] = "123c @# FD\tsP[e?\n";
  int i;
  for(i = 0; str[i] != 0; i++)
    if(isspace(str[i]))
      printf("str[%d] is a white-space character:%d\n", i, str[i]);
}

执行结果:

str[4] is a white-space character:32
str[7] is a white-space character:32
str[10] is a white-space character:9 // \t
str[16] is a white-space character:10 // \t

C语言ispunct()函数:判断字符是否为标点符号或特殊字符
头文件:

#inlude <ctype.h>

ispunct() 函数用来检测一个字符是否为标点符号或特殊字符,其原型为:

  int ispunct(int c);

【参数】c 为需要检测的字符。

【返回值】若 c 为标点符号或特殊符号(非空格、非数字和非英文字母)返回非 0 值,否则返回 0。

注意,此为宏定义,非真正函数。

【实例】列出字符串str 中的标点符号或特殊符号。

#include <stdio.h>
#include <ctype.h>
int main ()
{
  int i=0;
  int cx=0;
  char str[]="Hello, welcome!";
  while (str[i])
  {
    if (ispunct(str[i])) cx++;
    i++;
  }
  printf ("Sentence contains %d punctuation characters.\n", cx);
  return 0;
}

输出结果:

Sentence contains 2 punctuation characters.

相关文章

  • openCV中meanshift算法查找目标的实现

    openCV中meanshift算法查找目标的实现

    本文主要介绍了openCV中meanshift算法查找目标的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • C语言 实现输入任意多个整数

    C语言 实现输入任意多个整数

    这篇文章主要介绍了C语言 实现输入任意多个整数,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • c++ priority_queue用法入门超详细教程

    c++ priority_queue用法入门超详细教程

    priority_queue即优先级队列,它的使用场景很多,它底层是用大小根堆实现的,可以用log(n)的时间动态地维护数据的有序性,这篇文章主要介绍了c++ priority_queue用法入门超详细教程,需要的朋友可以参考下
    2023-12-12
  • C++无try-catch的异常捕获示例详解

    C++无try-catch的异常捕获示例详解

    这篇文章主要为大家介绍了C++无try-catch的异常捕获示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • C++ 实现PE文件特征码识别的步骤

    C++ 实现PE文件特征码识别的步骤

    PE文件就是我们常说的EXE可执行文件,针对文件特征的识别可以清晰的知道该程序是使用何种编程语言实现的,前提是要有特征库,PE特征识别有多种形式,第一种是静态识别,第二种则是动态识别,我们经常使用的PEID查壳工具是基于静态检测的方法。
    2021-06-06
  • C语言中进程信号集的相关操作函数详解

    C语言中进程信号集的相关操作函数详解

    这篇文章主要介绍了C语言中进程信号集的相关操作函数详解,包括sigismember函数和sigfillset函数以及sigemptyset函数的用法,需要的朋友可以参考下
    2015-09-09
  • C/C++新建注册表项的代码示例

    C/C++新建注册表项的代码示例

    今天小编就为大家分享一篇关于C/C++新建注册表项的代码示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • C++二叉搜索树模拟实现示例

    C++二叉搜索树模拟实现示例

    本文主要介绍了C++二叉搜索树模拟实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-11-11
  • C++ Boost CircularBuffer算法超详细精讲

    C++ Boost CircularBuffer算法超详细精讲

    Boost是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一,是为C++语言标准库提供扩展的一些C++程序库的总称
    2022-11-11
  • C++中cout输出中文信息乱码问题及解决

    C++中cout输出中文信息乱码问题及解决

    这篇文章主要介绍了C++中cout输出中文信息乱码问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11

最新评论