我試圖檢測從標準輸入的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''。 –