Utiliser les constantes __file__,__line__,__date__ et __time__ (compilé avec g++ sous linux)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 34 530 fois - Téléchargée 36 fois

Contenu du snippet

Le code montre comment utiliser plusieurs constantes:
__FILE__ : affiche le nom du fichier source.
__LINE__ : affiche le numéro de la ligne atteinte
__DATE__ : affiche la date de compilation du code source
__TIME__ : affiche l'heure de compilation de la source

L'intêret de ces constantes est bien sûr d'afficher des informations relatives a votre programme mais aussi de faciliter la correction de votre code grâce a la contante __LINE__ qui vous permet de savoir ou vous en êtes rendu dans le programme ainsi vous pourrez trouver vers quelle ligne se trouve l'erreur.

Source / Exemple :


#include<iostream.h>
#include<stdio.h>

int main(void)
{
cout << "Le programme " << __FILE__ << " est en cours d'édition" << endl;
cout << "Ligne " << __LINE__ << " atteinte." << endl;

#line 50 "Monprogramme.cpp"
cout << "Le programme " << __FILE__ << " est en cours d'édition" << endl;
cout << "Ligne " << __LINE__ << " atteinte." << endl;
cout << "La date et l'heure de la dernière compilation remontent est: " << __DATE__ << " " << __TIME__ << endl;
return 0;
}

Conclusion :


Bon la constante #line 50 "Monprogramme.cpp" sert a changer le numéro de la ligne courante, la contante __LINE__ 2 lignes plus loisn prendra donc la valeur 52. La constante __FILE__ elle stockera la chaine Monprogramme.cpp

Bon, ce code devrait se compiler avec la plupart des compilateurs, personnelement j'ai utilisé g++ sous linux, je rappel la syntaxe pour compiler le programme.
g++ -c prog.cpp //pour générer le .obj
g++ prog.o -o prog //pour générer l'executable
puis pour lancer le prog.
./prog

Voilà, si vous avez des questions, remarques ou critiques écrivez moi!

A voir également

Ajouter un commentaire

Commentaires

cs_Thaeron
Messages postés
202
Date d'inscription
vendredi 6 juillet 2001
Statut
Membre
Dernière intervention
31 octobre 2007
-
Y a d'autre constante comme ça ???
cs_Thaeron
Messages postés
202
Date d'inscription
vendredi 6 juillet 2001
Statut
Membre
Dernière intervention
31 octobre 2007
-
Y a d'autre constante comme ça ???
cs_bouba
Messages postés
518
Date d'inscription
dimanche 2 décembre 2001
Statut
Membre
Dernière intervention
10 novembre 2007
2 -
Oui, y'a d'autres constantes comme celles-ci, mais elles dépendent du compilateur que tu utilise, il faut que tu ailles voir la doc de ton compilo pour le savoir. Celles que j'ai donné ici marchent presquent avec tous les compilateurs. Si tu as une autre question, n'hésites pas!

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.