Test a character to see if it's a hexadecimal digit
#include <ctype.h> int isxdigit( int c );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The isxdigit() function tests for any hexadecimal-digit character. These characters are the digits 0 through 9 and the letters a through f (or A through F).
Nonzero if c is a hexadecimal digit; otherwise, zero.
#include <stdio.h> #include <stdlib.h> #include <ctype.h> char the_chars[] = { 'A', '5', '$' }; #define SIZE sizeof( the_chars ) / sizeof( char ) int main( void ) { int i; for( i = 0; i < SIZE; i++ ) { if( isxdigit( (unsigned)the_chars[i] ) ) { printf( "Char %c is a hexadecimal digit", the_chars[i] ); } else { printf( "Char %c is not a hexadecimal digit", the_chars[i] ); } } return EXIT_SUCCESS; }
produces the output:
Char A is a hexadecimal digit character Char 5 is a hexadecimal digit character Char $ is not a hexadecimal digit character
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | Yes |
Signal handler | Yes |
Thread | Yes |