用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.

相关文章

  • C语言中的内存管理详情

    C语言中的内存管理详情

    这篇文章主要介绍了C语言中的内存管理详情,手工申请内存使用malloc展开全文内容,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • C++多线程之带返回值的线程处理函数解读

    C++多线程之带返回值的线程处理函数解读

    这篇文章主要介绍了C++多线程之带返回值的线程处理函数解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • 一文带你探索C++中类型转换的奥秘

    一文带你探索C++中类型转换的奥秘

    C++ 提供了四种类型转换方式,帮助我们在不同数据类型之间进行有效的数据传递和操作,这些类型转换方式在不同的场景下有各自的优势和适用性,下面我们就来深入了解一下吧
    2023-10-10
  • VS2019中在源文件中如何使用自己写的头文件

    VS2019中在源文件中如何使用自己写的头文件

    通过头文件的形式直接调用自定义的函数,从而免去对函数的原型进行声明,本文就详细的介绍一下VS2019中在源文件中如何使用自己写的头文件,感兴趣的可以了解一下
    2021-09-09
  • C语言中求解图形的问题

    C语言中求解图形的问题

    这篇文章主要介绍了C语言中求解图形的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Qt操作SQLite数据库的教程详解

    Qt操作SQLite数据库的教程详解

    SQLite是一款开源、轻量级、跨平台的数据库,无需server,无需安装和管理配置。它的设计目标是嵌入式的,所以很适合小型应用,也是Qt应用开发种常用的一种数据库。本文为大家介绍了Qt操作SQLite数据库的示例,希望对大家有所帮助
    2022-12-12
  • C语言二维数组的处理实例

    C语言二维数组的处理实例

    这篇文章主要介绍了C语言二维数组的处理实例,有需要的朋友可以参考一下
    2013-12-12
  • C语言实现简单贪吃蛇小游戏

    C语言实现简单贪吃蛇小游戏

    这篇文章主要为大家详细介绍了C语言实现简单贪吃蛇小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • C语言详细讲解二分查找用法

    C语言详细讲解二分查找用法

    二分查找法,又叫做折半查找法,它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列
    2022-04-04
  • C语言 智能指针 shared_ptr 和 weak_ptr

    C语言 智能指针 shared_ptr 和 weak_ptr

    这篇文章主要介绍了C语言 智能指针 shared_ptr 和 weak_ptr,weak_ptr引入可以解决shared_ptr交叉引用时无法释放资源的问题,下面来学习具体相关内容吧,需要的朋友可以参考一下
    2022-04-04

最新评论