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

分类: 计算机技术
推荐阅读:
Rust debug_assert_eq宏的用法和示例 在Rust语言中,debug_assert_eq宏专门用于进行调试时的值相等性检查。它类似于assert_eq宏,但有一个重要的区别:debug_assert_eq只能在Rust的debug模式下进行检查,这意味着在发布应用程序时,所有的debug_assert_eq检查都会被编译器完全移除,不会影响最终的执行代码。
使用pyi-set_version为PyInstaller打包出来的程序附加版本信息 本文将讲述如何使用 pyi-grab_version 获取版本信息的模板文件,以及使用 pyi-set_version 为打包好的程序附加版本信息。
最新阿里云免费SSL证书申请教程 2021年最新申请阿里云免费SSL证书流程如下:
Nginx+Golang+Gin实现简单的web服务 本文将实现Nginx+Golang+Gin实现web服务,如何安装 gin 框架本文就不说了;
Golang中的结构体组合 在Go语言里,没有面向对象这个概念,自然就没有继承,但它支持结构体组合;你可以通过在结构体内嵌套结构体实现组合;
提示Permission denied的解决方法 通常,提示Permission denied表示你的某个操作权限不够;在Linux系统中,权限分为读权限、写权限和可执行权限,当你所在的用户组没有相关权限时,则会提示Permission denied;