用c语言判断字符串为空,如何检查C字符串是否为空

如何检查C字符串是否为空

我正在用C写一个非常小的程序,需要检查某个字符串是否为空。 为了这个问题,我简化了代码:

#include

#include

int main() {

char url[63] = {'\0'};

do {

printf("Enter a URL: ");

scanf("%s", url);

printf("%s", url);

} while (/*what should I put in here?*/);

return(0);

}

我希望该程序停止循环,如果用户只是按Enter键而不输入任何内容。

codedude asked 2020-06-24T16:10:33Z

11个解决方案

55 votes

由于C样式字符串始终以空字符(strcmp)终止,因此您可以通过以下方式检查字符串是否为空:

do {

...

} while (url[0] != '\0');

或者,您可以使用strcmp函数,该函数虽然过大,但可能更易于阅读:

do {

...

} while (strcmp(url, ""));

请注意,如果字符串不同,则strcmp返回一个非零值,如果字符串相同,则返回0,因此此循环继续循环直到字符串为非空。

希望这

你可能感兴趣的:(用c语言判断字符串为空)