正确输入和验证十六进制值

LmC*_*LmC 3 c validation hex input

我正在尝试创建一个简单的程序或函数,它将获取用户输入,这可能是一个有效的十六进制数.

我正在尝试找出一种方法来验证它是一个正确的十六进制值,如果它是真的则返回十六进制值,如果它是假的则返回错误消息.

我正在考虑一个函数,它检查每个char以确保它0-9或者A-F不能想到如何实现它.

谢谢.

caf*_*caf 19

给定const char *s,如果要确定指向的字符串中的每个字符s是否都是有效的十六进制数字,您可以使用:

if (s[strspn(s, "0123456789abcdefABCDEF")] == 0)
{
    /* valid */
}
Run Code Online (Sandbox Code Playgroud)