Я понимаю, что, с увеличенной строкой, вы можете распечатать несколько первые символы с:Возможно ли это с помощью printf?
printf(".5s\n",string);
и с заниженными строками, вы можете подушечку его с пространством:
printf("% 5s\n",string);
Есть способ достичь обоих из них сразу? т. е. заполнить его 0 или пробелом, если он короткий, и усечь его, если он длинный?
Возможный дубликат [Напечатать часть строки в C] (http://stackoverflow.com/questions/4841219/print-part-of-a-string-in-c) – mpromonet