Я пытаюсь определить ввод 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, но это не сработало.
Спасибо!
input
. Функцияstrlen
просто ищет первые'\0'
в строке, поэтому по определениюinput[strlen(input) - 1] == '\0'
. Единственное, что он может изменить, это введение segfault, еслиinput
не завершается нулем и за ним не следуют какие-либо'\0'
до исчерпания адресного пространства вашей программы. - person Aaron Dufour   schedule 09.11.2011