int main(void)
{
char name[80]; printf("> ");
fgets(name, 80, stdin);
char *res = strstr("Some text, really some junk text.", name);
if (res)
printf("%s\n", res);
return 0;
}
Если для чтения из stdin использовать fgets то ничего не выведется.
Но если вместо fgets использовать scanf то все работает на ура.
Просветите, пожалуйста.
Мне кажется, что не нуль-терминатор, а символ переноса строки. В случае с fgets, в отличии от gets, он также копируется в строку. В итоге, ( str \0 ) != ( str \n \0 )
Например, здесь мы перевода строки не делаем, ибо клавишу не жмем, все работает: ideone.com/0Falz2