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

分类: 计算机技术
推荐阅读:
Python webbrowser模块的详细用法 webbrowser是python下一个内置的模块,该模块提供了一个高级接口,使你可以调用计算机中的浏览器以打开基于WEB的文档,比如常见的html网页;
python @staticmethod装饰器 @staticmethod 是一个装饰器,用于声明一个静态方法。静态方法是一个属于类而不是属于实例的方法,可以直接通过类名调用,而不需要创建实例。
MySQL ACOS() 反余弦函数 ACOS(x)函数返回x的反余弦值;如果x不在定义域[-1,1]中,将返回NULL;
Rust语言获取当前的时间戳 在 Rust 中,要获取当前的时间戳(Unix 时间戳),您可以使用 std::time::SystemTime 和 std::time::UNIX_EPOCH 的组合,然后将时间间隔转换为秒数。
使用PySide6创建Hello World程序 本文将展示PySide6的hello world程序;程序将创建一个主窗体,在窗体上创建一个按钮,点击按钮将弹出Hello world的消息;
Golang获取文件的大小 在Go语言中,你可以使用os.Stat()来获取文件信息,其中就包括文件的大小;