Pour le debug,les traces... : savetoerrorlog ou ajjout de texte dans un fichier...

Contenu du snippet

Voilà la fonction de trace très utile pour avoir une trace sans faire de débug...
Elle permet d'envoyer une chaine dans un fichier tout simplement en fait mais vu qu'elle sert très souvent et que beaucoup de mes collègues me l'on déjà copiée... pas de pb pour la publier...

Elle marche aussi bien en C qu'en C++...
En Gal, en C++, je la laisse comme seule fonction globale...

Voici son proto:
void saveToErrorLog(char* message, char* nomFichier)

et donc, on peut envoyer le contenu des variables, un message si on passe à certains endroit du code...

Rq: Cette fonction est utilisée dans le module Trace de MétaProg (rq: MétaProgLight sera très prochainement publié sur ce site...)

Voila...
@+,
Nono

Source / Exemple :


void saveToErrorLog(char* message, char* nomFichier)
{
/// ---------------------------------------------------------------------------------
/// ---------------- saveToErrorLog(char* message ,char* nomFichier) ----------------
/// ---------------------------------------------------------------------------------
/// -----  Objectif	: Ecriture d'une trace ds un fichier
/// -----  Auteur(s)	: Magic Nono 26/04/02 & 26/08/03
/// -----  PreCond	: /
/// -----  PostCond	: Trace insérée en fin de fichier
/// -----  Etat		: 1			(-1<0<1<2)
/// ---------------------------------------------------------------------------------
/// -----  char* message	: cf.nom
/// -----  char* nomFichier(par défaut : '"trace.b"')	: cf.nom
/// ---------------------------------------------------------------------------------
/// -----  Var Muettes (cf.partie préc) (2)	: message ,nomFichier
/// -----  Var Internes à la fonction (1)	: fichier
/// -----  Var In  (2)	: message ,nomFichier
/// -----  Var In  Globales Constantes (1)	: SEEK_END
	//pas de trace
	FILE*fichier;
	if((fichier= fopen((char*)nomFichier,"at")) == NULL)
	{
		fprintf(stderr,"erreur durant l'ouverture du fichier %s.\\n\\n",nomFichier);
		exit(5);	//pas PB ici...
	}
	fseek(fichier,0,SEEK_END);
	fputs(message,fichier);
	fputc('\\n',fichier);
	fclose(fichier);
}

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.