Безопасная альтернатива получает

Я хочу прочитать целую строку со стандартного ввода, включая пробел между двумя словами.

При использовании gets на gcc я получаю следующее сообщение:

send.c:(.text+0x2a): warning: the `gets' function is dangerous and should not be used.

Какая лучшая альтернатива?