J'ai fait une fonction pour gerer mes logs, et j'aimerai formatter ma chaine, afin que :
- les 19 premiers caractères soit la date
- 1 caractère d'espace
- 1 caractère de code type erreur
- 1 caractère d'espace
- 20 caractères pour indiquer la source
- N caractères pour le message d'erreur
Actuellement, voici ma procédure:
Comment faire pour que mon printf respecte le nombre de caractères ?void Log(int typeLog, const char source[20], const char * msg)
{
char ch[20+1], * pcloc;
struct tm * pdh; time_t intps; int nbc;
intps=time(NULL); pdh = localtime(&intps);
pcloc = setlocale( LC_TIME, "fr_FR");
nbc = strftime( ch, 21, "%d/%m/%Y %H:%M:%S", pdh);
#if defined(DEBUG)
printf("\n%s %d %s %s", ch, typeLog, source, msg);
#else
#endif
}
Partager