C 标准库 - <ctype.h>

C 标准库 - <ctype.h>

概述

<ctype.h> 是 C 语言标准库中的一个头文件,它提供了一系列用于测试和操作字符的函数。这些函数主要用于检查字符是否属于特定的字符类别,如字母、数字、标点符号等,以及进行字符的大小写转换。<ctype.h> 中的函数通常在处理文本输入时非常有用,例如在用户输入验证或数据格式化中。

函数列表

<ctype.h> 头文件定义了以下函数:

字符测试函数

  • int isalnum(int c);:检查字符是否为字母或数字。
  • int isalpha(int c);:检查字符是否为字母。
  • int isblank(int c);:检查字符是否为空白字符(空格或制表符)。
  • int iscntrl(int c);:检查字符是否为控制字符。
  • int isdigit(int c);:检查字符是否为数字。
  • int isgraph(int c);:检查字符是否为图形字符(除空格外的可打印字符)。
  • int islower(int c);:检查字符是否为小写字母。
  • int isprint(int c);:检查字符是否为可打印字符(包括空格)。
  • int ispunct(int c);:检查字符是否为标点符号。
  • int isspace(int c);:检查字符是否为空白字符(空格、制表符、换行符等)。
  • int isupper(int c);:检查字符是否为大写字母。
  • int isxdigit(int c);:检查字符是否为十六进制数字。

字符转换函数

  • int tolower(int c);:将大写字母转换为小写字母。
  • int toupper(int c);:将小写字母转换为大写字母。

使用示例

以下是一个使用 <ctype.h> 函数的简单示例:

c 复制代码
#include <stdio.h>
#include <ctype.h>

int main() {
    char str[] = "Hello, World! 123";
    int i;

    // 检查并打印每个字符是否为字母
    for (i = 0; str[i] != '\0'; i++) {
        if (isalpha(str[i])) {
            printf("Character '%c' is an alphabet.\n", str[i]);
        }
    }

    // 转换字符串中的大写字母为小写字母
    for (i = 0; str[i] != '\0'; i++) {
        str[i] = tolower(str[i]);
    }

    printf("Lowercase string: %s\n", str);

    return 0;
}

在这个示例中,我们首先使用 isalpha 函数检查并打印字符串中的每个字母字符。然后,我们使用 tolower 函数将字符串中的所有大写字母转换为小写字母,并打印转换后的字符串。

注意事项

  • <ctype.h> 中的函数通常只适用于单个字符。要处理整个字符串,需要遍历字符串中的每个字符。
  • 这些函数的行为可能受到当前语言环境的影
相关推荐
萧瑟余晖1 小时前
Java深入解析篇三十三之密封类与接口(Sealed Classes)详解
java·开发语言
论迹复利5 小时前
FreeRTOS 在 RISC-V 上是如何“点火“的 —— 从 main() 到第一个任务的完整链路
java·开发语言·risc-v
张宇Joaquin5 小时前
鲲鹏统一并行加速库KUPL--众核并行能力介绍
java·开发语言·网络
736c5 小时前
C语言-数组 07
c语言·开发语言
宸津-代码粉碎机6 小时前
AI攻防战升级!基于Spring AI构建Java应用自动免疫安全体系
java·大数据·开发语言·人工智能·python·安全·spring
LorryJovens7 小时前
【LAAP科研】CEN因果等价网络理论---从双缝干涉到因果等价
开发语言·php
Brilliantwxx8 小时前
【Linux】 进程(10) 进程控制深度解析:创建、终止与等待
linux·运维·服务器·c语言·开发语言·网络
卢锡荣9 小时前
国产PD3.1全集成Type-C管控芯片LDR6020P
c语言·开发语言
Freak嵌入式9 小时前
Pico UART 数据收发实战:硬件配置、MicroPython 编程
java·开发语言·单片机·嵌入式硬件·生活
Casual9 小时前
【网络基础进阶】:看懂子网划分与 VLAN
开发语言·网络·php