我试图检测从标准输入的fgets输入为空(当我按下输入而不输入任何内容)。这里是我的程序:如何检测fgets的空字符串
int main()
{
char input[1000];
printf("Enter :");
fgets(input, 1000, stdin);
input[strlen(input) - 1] = '\0';
if(input != '\0'){
printf("hi");
}
return 0;
}
我想做一些条件,使它不打印任何东西,但显然这种方式是不正确的。我也试过NULL,这没有奏效。
谢谢!
@JamesMcNellis事实上,该行不会做任何事情,无论在哪里'input'是从哪里来的。 'strlen'函数只是搜索字符串中的第一个''\ 0',所以按照定义'input [strlen(input) - 1] =='\ 0''。它可能改变的唯一情况是引入一个段错误,如果'input'不是空终止的,并且在用完程序的地址空间之前不会发生任何''\ 0''。 –