Debes tener en cuenta dos casos diferentes. Cuándo estés al principio de tu marquesina y cuándo te encuentres en el final.
Como sabrás cuándo le des una cadena a printf, éste se pone a escribir lo que le des hasta que encuentre un carácter de fin de cadena '\0', así si tienes la cadena
ABCDEF
obtienes
ABCDEFen cambio, si escribes
obtienes
DEF. Recuerda que cadena es un puntero y puedes usar la aritmética de punteros.
Esto te sirve para el inicio de la marquesina.
Ahora para el final de la marquesina printf tiene unos especificadores de formato que te pueden ser útiles, como el de precisión, que no solo funcionan con los números.
Si tienes la anterior cadena
ABCDEF y te interesa solo coger los tres primeros caracteres puedes usar
y obtienes
ABCEse 3 es literal y no hay forma de cambiarlo a no ser que cambies la cadena de formato. Pero los diseñadores de printf, que son muy listos, han hecho posible que nosotros, los pobres usuarios, tengamos una forma de escribir cuántos caracteres queremos. Mediante el carácter * podemos usar un argumento de printf para dar un tamaño.
Si escribimos printf así
Si tam=3 entonces obtenemos
CAD.