How to case insensitive check if char exist in a string with C

1 Answer

0 votes
#include <stdio.h>
#include <string.h>
#include <ctype.h>

char* strchr_i(const char* str, int ch) {
    ch = tolower((unsigned char)ch);

    while (*str && tolower((unsigned char)*str) != ch) str++;

    return ch == '\0' || *str != '\0' ? (char*)str : NULL;
}

int main()
{
    char str[] = "C Programming";
    char ch = 'p';

    if (strchr_i(str, 'p') != NULL) {
        puts("exist");
    }
    else {
        puts("not exist");
    }
}




/*
run:

exist

*/

 



answered Sep 27, 2022 by avibootz
...