How to check if a string is blank (empty, null, or contains only whitespace) in C

1 Answer

0 votes
#include <stdio.h>
#include <ctype.h> // For isspace()

int isBlankOrEmpty(const char *str) {
    if (str == NULL) {
        return 1; // String is NULL
    }

    // Check if the string is empty or contains only whitespace
    while (*str) {
        if (!isspace((unsigned char)*str)) {
            return 0; // Found a non-whitespace character
        }
        str++;
    }

    return 1; // String is empty or contains only whitespace
}

int main() {
    const char *test1 = NULL;
    const char *test2 = "";
    const char *test3 = "   ";
    const char *test4 = "abc";

    printf("Test1: %d\n", isBlankOrEmpty(test1)); 
    printf("Test2: %d\n", isBlankOrEmpty(test2)); 
    printf("Test3: %d\n", isBlankOrEmpty(test3));
    printf("Test4: %d\n", isBlankOrEmpty(test4));

    return 0;
}



/*
run:

Test1: 1
Test2: 1
Test3: 1
Test4: 0

*/

 



answered Jun 7, 2025 by avibootz
edited Jun 7, 2025 by avibootz
...