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( 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 |