Für die Bestimmung der maximalen Länge musst zu zunächst nur hierfür die ganze Datei zulesen und die Länge bestimmen (oder alle Worte aufsammeln und dann jeweils bei Bedarf auswerten).
Dann schreibst du dir für jede Funktionalität eine Funktion, die die nötigen Parameter erhält, die sie für die Arbeit benötigt, also z.B.
Schleife ...
printf("*%s%s%s*\n", berechneLinks(stringwert,maxLaenge), stringwert, berechneRechts(stringwert,maxLaenge) );
Schleifeende
Anfangen tust du, indem du erstmal die Funktionen ohne Funktionalität implementierst, hierbei also zunächst mal "" zurückgibst. Dann erstelle dir einen Testfall mit entsprechenden Daten und fängst an, die fehlenden Funktionalitäten zu implementieren.