pues se me ocurre lo sigiente, para leer el archivo ocupa fgetc, es decir lle por caracteres,
ahora declara dos variables, si creop que con eso sera suficiente(las variables deberan ser apuntadores a cadena)
ahora cuando estes leyendo aparte de ir imprimiendo el caracter en stdout(pantalla), lo alamcenas en una cadena, ahora si se llega a un retorno de carro(enter), asumimos que se trata de una nueva linea, ahora que pensando en esto necesitaras una nueva variable opcional(por que si desees que al pasar de los 80 caracteres que permite la stdout, deberas poner un contador de caracteres para que al llegar a 80 sea como un car return.
ahora si llega a un car return, o maximo de 80 caracteres, con lo que la primer variable o cadena quedara finalizada, y desde ese instante empezara a llenar al siguiente cadena, despues si se llegara a necesitar de una 3 er cadena, que no es muy ortodoxo, yo propondria comparar la 1er cadena con la 2da, con un strlen, ahora si la primera es menor a las egunda, empezamos a reescribir en la segunda cadena, o al reves segun sea el caso:D
pues si creo que eso soluciona tu problema.