задача расписать флаг cat -t -t предполагает и -v (GNU: -T то же самое, но без применения -v) примерно такого формата как указано ниже пример -b флаг
if (bflag) {
length = strlen(buffer);
if (length >= 1) {
char *tmp = strdup(buffer);
buffer[0] = '\0';
sprintf(buffer, "%*d\t", 6, LineNumber++);
strcat(buffer, tmp);
}
}