Bonjour,
Avec printf() on peut faire beaucoup au niveau formatage !
Petit exemple avec des sprintf() pour formater un buffer :
#include <stdio.h>
int main(int argc,char** argv)
{
char szBuffer[256];
char* szNom = "DUPONT";
char* szPrenom = "Jean-Christophe";
// --- Les 2 champs font 10 caractères et sont cadrés à gauche (-)
// --- mais il peut y avoir dépassement de la longueur demandée
sprintf(szBuffer,"%-10s%-10s",szNom,szPrenom);
printf("[%s]\n",szBuffer);
// --- Les 2 champs font 10 caractères et sont cadrés à gauche (-)
// --- mais la longueur demandée est préservée (.10)
sprintf(szBuffer,"%-10.10s%-10.10s",szNom,szPrenom);
printf("[%s]\n",szBuffer);
// --- La même chose mais avec la longueur paramétrable
int iLongueur = 10;
sprintf(szBuffer,"%-*.*s%-*.*s"
,iLongueur,iLongueur,szNom
,iLongueur,iLongueur,szPrenom);
printf("[%s]\n",szBuffer);
return 0;
}
Ce qui donne :
[12345678901234567890]
[DUPONT Jean-Christophe]
[DUPONT Jean-Chris]
[DUPONT Jean-Chris]
Jean-François