How can I check if char* variable points to empty string?
Check if the first character is '\0'. You should also probably check if your pointer is NULL.
char *c = "";if ((c != NULL) && (c[0] == '\0')) { printf("c is empty\n");}
You could put both of those checks in a function to make it convenient and easy to reuse.
Edit:In the if statement can be read like this, "If c is not zero and the first character of character array 'c' is not '\0' or zero, then...".
The &&
simply combines the two conditions. It is basically like saying this:
if (c != NULL) { /* AND (or &&) */ if (c[0] == '\0') { printf("c is empty\n"); }}
You may want to get a good C programming book if that is not clear to you. I could recommend a book called "The C Programming Language".
The shortest version equivalent to the above would be:
if (c && !c[0]) { printf("c is empty\n");}