C语言isxdigit()函数:判断字符是否为十六进制数字字符

isxdigit()函数

头文件和函数原型

#include <ctype.h>
int isxdigit(int c);

描述

isxdigit()是C语言标准库中的一个函数,用于判断一个字符是否为十六进制数字字符;

十六进制数字包括0~9之间的数字,以及A~F之间的字母(不区分大小写);

返回值

如果传入的字符参数是一个十六进制数字字符,则返回一个非0值,否则返回0

示例代码

这个示例用来判断一个字符串是否为合法的MD5;

一个合法的MD5,字符串长度应为32,且所有字符都应是十六进制数字字符;

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

bool is_md5(const char* str) {
	
	if (strlen(str) != 32) {
		return false;
	}

	for (int i = 0; i < 32; i++) {
		if (!isxdigit(*(str + i))) {
			return false;
		}
	}

	return true;

}

int main() {

	char md5[] = "e10adc3949ba59abbe56e057f20f883e";

	printf("%s %s a valid MD5 value.\n",
		md5,
		is_md5(md5) ? "is" : "is not");
	
}

程序运行结果

e10adc3949ba59abbe56e057f20f883e is a valid MD5 value.

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/c-functions/isxdigit.html

分类: 计算机技术
推荐阅读:
PySide6 setStyle()函数详细教程 Pyside6.QtWidgets.QApplication类的成员函数setStyle()用于设置程序的GUI样式;
Python中双前导下划线__var的正确理解 近期作者发现很多Python学习者居然把双前导下划线(也就是双下划线前缀)理解成私有属性了,甚至是很多Python教程中也这么理解,这让作者感到惊讶。
PySide6 QKeyEvent:键盘事件类 QKeyEvent是PySide6中用于表示键盘事件的类,用于处理与键盘相关的用户输入事件,如按键、释放等;
Rust获取命令行参数 所谓的命令行参数,是指程序在命令行或SHELL上运行时后跟的参数;Rust语言中获取命令行参数的方法如下:
Rust解析JSON,结构体序列化和反序列化 JSON一种常用的由键值对组成的数据对象;本文将通过多个例子讲解在Rust中如何解析JSON内容,以及如何将结构体转换成JSON字符串。
关闭Shell时保持子进程继续运行 在Linux系统里,当你关闭 shell 或者终端时,没有经过 nohup 或 setid 等命令后台执行的程序也会随着 shell 的关闭而结束;如果你已经提交了命令,也没有使用 nohup 或 setid 进行处理,你可以用这一条命令实现退出shell或终端而保持进程不被关闭: