Char Functions in C

The C Standard Library has a useful set of functions for handling characters and strings. The string functions require the header <string.h> and the character functions require the header <ctype.h>.

Character functions automatically convert their arguments to the unsigned char type.

The isalnum() function returns nonzero if its argument is either a letter of the alphabet or a digit.

#include <ctype.h>
#include <stdio.h>

int main(void){
    
    char ch;
    
    while(1){
        printf("Enter a character or enter ! to quit:\t");
        ch = getchar();
        if(ch=='!'){
            break;
        }
        
        //use isalnum() function
        if(isalnum(ch)){
            printf("%c is alphanumeric\n", ch);
        } else {
            printf("%c is not alphanumeric\n", ch);
        }
        
        //flush standard input
        while((ch = getchar())!='\n'){}
    }
    
    return 0;
    
}

The isalpha() function returns nonzero if the char value is a letter of the alphabet; otherwise zero is returned.

#include <ctype.h>
#include <stdio.h>

int main(void){
    
    char ch;
    
    while(1){
        printf("Enter a character (Enter ! to exit):\t");
        ch = getchar();
        if(ch!='!'){
            if(isalpha(ch)){
                printf("%c is a letter of the alphabet\n", ch);
            } else {
                printf("%c is not a letter of the alphabet\n", ch);
            }
            
        } else {
            break;
        }
        
        /*
         * slightly more optimal method
         * of clearing input buffer
         */
        while(getchar()!='\n'){}
        
    }
    
    return 0;
    
}

The isblank() function returns nonzero if the value is a whitespace character.

#include <stdio.h>
#include <ctype.h>

int main(void){
    
    char ch;
    
    while(1){
        
        printf("Enter a character (enter ! to exit): ");
        
        if((ch=getchar())=='!'){
            break;
        }
        
        if(isblank(ch)){
            printf("%c is a whitespace character\n", ch);
        } else {
            printf("%c is not a whitespace character\n", ch);
        }
        
        //clear stdin
        while(getchar()!='\n'){}
        
    }
    
    return 0;
    
}

The isupper() function returns nonzero if the value is an uppercase letter; the islower() function returns nonzero if the value is a lowercase letter.

#include <stdio.h>
#include <ctype.h>

int main(void){
    
    char ch;
    
    while(1){
        printf("Enter a character (! to exit):\t");
        ch=getchar();
        
        if(ch=='!'){
            break;
        }
        
        //test char value using
        //isupper() and islower()
        if(isupper(ch)){
            printf("%c is an uppercase letter.\n", ch);
        } else if (islower(ch)){
            printf("%c is a lowercase letter.\n", ch);
        } else {
            printf("%c is not a letter.\n", ch);
        }
        
        //clears stdin
        while(getchar()!='\n'){}
        
    }
    
    return 0;
    
}

Please visit my author page on Amazon.com: http://www.amazon.com/Al-Jensen/e/B008MN382O/

 

 

Advertisements