Wie lese ich eine Zeile von der Konsole in C?

Was ist der einfachste Weg, um eine vollständige Zeile in einem C-Konsolenprogramm zu lesen? Der eingegebene Text hat möglicherweise eine variable Länge, und wir können keine Vermutung über seinen Inhalt anstellen.