IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> c语言:22、字符函数(ctype、stdlib) -> 正文阅读

[C++知识库]c语言:22、字符函数(ctype、stdlib)

1、ctype.h

ctype.h头文件中定义了一系列对字符的数据类型的判断
更多函数请参考:http://c.biancheng.net/ref/isalnum.html

#include <stdio.h>
#include <ctype.h>

#define PRINTF(format, ...) printf("("__FILE__":%d) %s: "format,__LINE__,__FUNCTION__, ##__VA_ARGS__)
#define PRINT_INT(value) PRINTF(#value":%d \n", value)
#define PRINT_CHAR(value) PRINTF(#value":%c \n", value)

int main(){
    PRINT_INT(isalnum('A'));//判断字符是否为字母或数字a-zA-Z,0-9均返回非0
    PRINT_INT(isalpha('A'));//判断是否是字母a-zA-Z均为字母,返回非0
    PRINT_INT(isblank(' '));//判断是否为空字符
    PRINT_INT(iscntrl('\t'));//判断是否为控制字符
    PRINT_INT(isdigit('a'));//判断是否为一个十进制数
    PRINT_CHAR(tolower('A'));//字符转小写
    PRINT_CHAR(toupper('a'));//字符转大写
    return 0;
}
#ifndef stdio_h
#include <stdio.h>
#endif

#ifndef ctype_h
#include <ctype.h>
#endif

#define PRINTLN(format) printf("%s  %d:"format"\n",__FUNCTION__,__LINE__)
#define PRINTFLN(format, ...) printf(#format":"format"\n", ##__VA_ARGS__)

int main(){
    PRINTLN("检测参数字符是否为数字或字母");
    printf("%d\n", isalnum('a'));//2
    printf("%d\n", isalnum('B'));//1
    printf("%d\n", isalnum('2'));//4
    printf("%d\n", isalnum('-'));//0
    
    PRINTLN("检测参数字符是否为字母");
    printf("%d\n", isalpha('2'));//0
    printf("%d\n", isalpha('a'));//2
    printf("%d\n", isalpha('A'));//1

    PRINTLN("检测参数字符是否为十进制数字");
    printf("%d\n",isdigit('a'));//0
    printf("%d\n",isdigit('1'));//4

    PRINTLN("检测参数字符是否为十六进制数字");
    printf("%d\n",isxdigit('1'));//128
    printf("%d\n",isxdigit('A'));//128
    printf("%d\n",isxdigit('K'));//0

    PRINTLN("检测所传字符是否为小写字母");
    printf("%d\n",islower('a'));//2
    printf("%d\n",islower('B'));//0
    printf("%d\n",islower('2'));//0

    PRINTLN("检测所传字符是否为大写字母");
    printf("%d\n",isupper('A'));//1
    printf("%d\n",isupper('a'));//0
    printf("%d\n",isupper('2'));//0

    PRINTLN("检测参数是否为标点符号");
    printf("%d\n",ispunct('c'));//0
    printf("%d\n",ispunct('2'));//0
    printf("%d\n",ispunct('A'));//0
    printf("%d\n",ispunct('.'));//16

    PRINTLN("检测参数是否为空白字符");
    printf("%d\n",isspace(' '));//8
    printf("%d\n",isspace(' '));//8
    printf("%d\n",isspace('a'));//0
    return 0;
}

2、stdlib.h

stdlib.h头文件中定义了一些变量和宏以及函数。
详细可参考:这里

2.1、atoX系列函数

其中atoX(const char *str)系列函数拥有将字符串转换类型的功能。

#ifndef stdio_h
#include <stdio.h>
#endif
#ifndef stdlib_h
#include <stdlib.h>
#endif
#define PRINTF(format, ...) printf(format, ##__VA_ARGS__)
#define PRINTLN(value) PRINTF(value"\n")
#define PRINTF_F(value) PRINTF(#value": %f\n", value)
#define PRINTF_I(value) PRINTF(#value": %i\n", value)

int main(){
    PRINTLN("把参数字符串转为一个浮点数(类型为double)");
    PRINTF_F(atof("1"));
    PRINTF_F(atof("1.2a"));
    PRINTF_F(atof("a"));
    PRINTF_F(atof("Y"));

    PRINTLN("把参数字符串转为一个整数");
    PRINTF_I(atoi("a"));
    PRINTF_I(atoi("2.22"));
    PRINTF_I(atoi("3"));

    PRINTLN("把参数转为long int");
    PRINTF_I(atol("3"));
    return 0;
}


上方代码调用结果如下
在这里插入图片描述

2.2、strtoX系列函数

strtoX(const char *str, char **endptr)相关的函数功能和atoX系列函数功能差不多,但是可重复解析,更安全,更强大

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-21 12:00:48  更:2021-10-21 12:02:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:12:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码