C isgraph() Function

The isgraph() function in C is a standard library function that checks if a given character has a graphical representation (i.e., it is a visible character other than space). It is part of the C standard library (ctype.h). This function is useful for determining if a character is a visible, printable character excluding the space character.

Table of Contents

  1. Introduction
  2. isgraph() Function Syntax
  3. Examples
    • Checking if a Character has a Graphical Representation
    • Using isgraph() with User Input
  4. Real-World Use Case
  5. Conclusion

Introduction

The isgraph() function checks if a given character has a graphical representation. This includes all printable characters except for the space character (' '). It is useful for validating and parsing text where visibility of characters is required.

isgraph() Function Syntax

The syntax for the isgraph() function is as follows:

#include <ctype.h>
int isgraph(int c);

Parameters:

  • c: The character to be checked, which is passed as an int.

Returns:

  • The function returns a non-zero value (true) if the character has a graphical representation; otherwise, it returns 0 (false).

Examples

Checking if a Character has a Graphical Representation

To demonstrate how to use isgraph() to check if a character has a graphical representation, we will write a simple program.

Example

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

int main() {
    char ch = '@';

    // Check if the character has a graphical representation
    if (isgraph(ch)) {
        printf("'%c' has a graphical representation.\n", ch);
    } else {
        printf("'%c' does not have a graphical representation.\n", ch);
    }

    return 0;
}

Output:

'@' has a graphical representation.

Using isgraph() with User Input

This example shows how to use isgraph() to check if a character provided by the user has a graphical representation.

Example

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

int main() {
    char ch;

    // Get user input for the character
    printf("Enter a character: ");
    scanf("%c", &ch);

    // Check if the character has a graphical representation
    if (isgraph(ch)) {
        printf("'%c' has a graphical representation.\n", ch);
    } else {
        printf("'%c' does not have a graphical representation.\n", ch);
    }

    return 0;
}

Output (example user input 'a'):

Enter a character: a
'a' has a graphical representation.

Output (example user input ' '):

Enter a character:
' ' does not have a graphical representation.

Real-World Use Case

Validating User Input for Display

In real-world applications, the isgraph() function can be used to validate user input, ensuring that only characters with graphical representation are accepted for display.

Example: Filtering Non-Graphical Characters

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

int main() {
    char input[100];
    int i;

    // Get user input for the string
    printf("Enter a string: ");
    fgets(input, sizeof(input), stdin);

    // Filter and print only graphical characters
    printf("Graphical characters in the input: ");
    for (i = 0; input[i] != '\0'; i++) {
        if (isgraph(input[i])) {
            putchar(input[i]);
        }
    }
    printf("\n");

    return 0;
}

Output (example user input "Hello World!"):

Enter a string: Hello World!
Graphical characters in the input: HelloWorld!

Conclusion

The isgraph() function is essential for checking if a character has a graphical representation in C. It is useful in various applications, particularly in fields like data validation and text processing, where it is necessary to identify and process visible, printable characters excluding spaces.

Comments

Spring Boot 3 Paid Course Published for Free
on my Java Guides YouTube Channel

Subscribe to my YouTube Channel (165K+ subscribers):
Java Guides Channel

Top 10 My Udemy Courses with Huge Discount:
Udemy Courses - Ramesh Fadatare