[VisualC++] Création de fichier log
Fermé
GNONGNON
Messages postés
10
Date d'inscription
lundi 26 mars 2007
Statut
Membre
Dernière intervention
10 août 2007
-
7 août 2007 à 00:17
mamiemando Messages postés 33401 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 28 novembre 2024 - 11 août 2007 à 05:00
mamiemando Messages postés 33401 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 28 novembre 2024 - 11 août 2007 à 05:00
A voir également:
- [VisualC++] Création de fichier log
- Fichier rar - Guide
- Fichier host - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir fichier .bin - Guide
15 réponses
mamiemando
Messages postés
33401
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
28 novembre 2024
7 804
9 août 2007 à 00:38
9 août 2007 à 00:38
Ben ca c'est ton programme qui doit le gérer. Tu peux compléter la fonction write_log que je t'ai donné en utilisant ça pour récupérer la date :
aidez moi en c borland
Ensuite à toi d'appeler write_log dans tes fonctions a bon escient.
Bonne chance
aidez moi en c borland
#include <fstream> #include <ctime> void write_log(const char *msg,const char *filename_log = "plop.log"){ std::ofstream ofs(filename_log,std::ofstream::app); // fichier de log ouvert en append if(ofs){ time_t a; time(&a); ofs << ctime(&a) << ' ' << msg << std::endl; } ofs.close(); }
Ensuite à toi d'appeler write_log dans tes fonctions a bon escient.
void f(){ write_log("entre dans f"); // ... code de la fonction f write_log("sort de f"); }
Bonne chance
GNONGNON
Messages postés
10
Date d'inscription
lundi 26 mars 2007
Statut
Membre
Dernière intervention
10 août 2007
1
10 août 2007 à 22:35
10 août 2007 à 22:35
normalemenet la dll seront utilisées par le winlogon.
mamiemando
Messages postés
33401
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
28 novembre 2024
7 804
11 août 2007 à 05:00
11 août 2007 à 05:00
Désolé je comprends pas. Je ne connais pas windows. Pour moi un programme ça peut utiliser des librairies, donc libre à toi d'appeler les fonctions de cette librairie que tu veux. Je ne comprends pas ce qeu tu veux faire peut-être. Reviens à un problème C++ sinon je ne peux pas t'aider.
Bonne chance
Bonne chance
mamiemando
Messages postés
33401
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
28 novembre 2024
7 804
7 août 2007 à 20:59
7 août 2007 à 20:59
Ben peu importe que ce soit dans une dll ou un programme classique, tu ouvres un std::ofstream et tu écris dedans s'il est bien ouvert. A la fin tu le fermes et c'est fini.
On compile et on exécute :
On vérifie que plop.log contient bien les messages :
Bonne chance
#include <fstream> #include <iostream> int main(){ const char *filename = "plop.log"; std::ofstream ofs(filename); if(!ofs){ std::cerr << "impossible d'écrire dans [" << filename << ']' << std::endl; throw; } //... ofs << "debut" << std::endl; //... ofs << "etape 1" << std::endl; //... ofs << "etape 2" << std::endl; //... ofs << "fin" << std::endl; ofs.close(); return 0; }
On compile et on exécute :
(mando@aldur) (~) $ g++ -W -Wall plop.cpp (mando@aldur) (~) $ ./a.out
On vérifie que plop.log contient bien les messages :
(mando@aldur) (~) $ cat plop.log debut etape 1 etape 2 fin
Bonne chance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
GNONGNON
Messages postés
10
Date d'inscription
lundi 26 mars 2007
Statut
Membre
Dernière intervention
10 août 2007
1
8 août 2007 à 05:28
8 août 2007 à 05:28
merci pour ta réponse
mais un souci
peut tu etre un peu plus clair dans ton explication
car c' est ma 1ere utilisation de fichier log
je met ton code directement dans le code source de mon programme ou je crée un nouveau fichier?
comment dois je faire *
Je compte sur ta réponse
mais un souci
peut tu etre un peu plus clair dans ton explication
car c' est ma 1ere utilisation de fichier log
je met ton code directement dans le code source de mon programme ou je crée un nouveau fichier?
comment dois je faire *
Je compte sur ta réponse
mamiemando
Messages postés
33401
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
28 novembre 2024
7 804
8 août 2007 à 09:54
8 août 2007 à 09:54
En fait il faut bien comprendre que créer fichier de log, ça consiste juste à ouvrir une fichier et écrire dedans. Quand tu ouvres un fichier,
- soit tu le réecris (w = write),
- soit tu écris à la suite de son contenu (a = append).
Pour ouvrir un fichier tu peux sois utiliser
- soit les ofstream du C++ (les flux dans un fichier de sortie, header <fstream>),
- soit fopen (qui vient du C, header <cstdio>).
Si tu es arrivé à l'ouvrir (tester le retour de fopen ou vérifier que le std::ofstream crée est valide), tu peux commencer à écrire dedans, et le fermer une fois que tu as fini d'écrire dedans.
L'exemple que je te donne te montre comment utiliser un std::ofstream de manière usuelle, après il faut l'adapter à ton code. Dans ton cas on pourrait imaginer que tu crées une fonction qui ouvre un fichier en append (le fichier de log) à chaque fois que tu en as besoin. Exemple :
Bonne chance
- soit tu le réecris (w = write),
- soit tu écris à la suite de son contenu (a = append).
Pour ouvrir un fichier tu peux sois utiliser
- soit les ofstream du C++ (les flux dans un fichier de sortie, header <fstream>),
- soit fopen (qui vient du C, header <cstdio>).
Si tu es arrivé à l'ouvrir (tester le retour de fopen ou vérifier que le std::ofstream crée est valide), tu peux commencer à écrire dedans, et le fermer une fois que tu as fini d'écrire dedans.
L'exemple que je te donne te montre comment utiliser un std::ofstream de manière usuelle, après il faut l'adapter à ton code. Dans ton cas on pourrait imaginer que tu crées une fonction qui ouvre un fichier en append (le fichier de log) à chaque fois que tu en as besoin. Exemple :
void write_log(const char *msg){ std::ofstream ofs("plop.log",std::ofstream::app); // fichier de log ouvert en append if(ofs) ofs << msg << std::endl; ofs.close(); }
Bonne chance
GNONGNON
Messages postés
10
Date d'inscription
lundi 26 mars 2007
Statut
Membre
Dernière intervention
10 août 2007
1
8 août 2007 à 22:50
8 août 2007 à 22:50
Merci mamiemando
J' explore ta piste et je te tiendrai au courant
Toutefois une précision : le fichier log que je souhaiterais faire , est un fichier où non seulement je pourrai écrire du texte ,mais il faudra que le systeme y ecrive aussi afin de me retracer exactement comment s' est passé l' exécuton du programme ; par exemple tel fonction est bien exécutée à tel heure et a généré tel valeur ...... tel autre fonction n' a pas pu etre exécuté pour telle raison; telle fonction a été appellée à tel et tel niveau
toutes les explication me seront utiles
Encore merci
J' explore ta piste et je te tiendrai au courant
Toutefois une précision : le fichier log que je souhaiterais faire , est un fichier où non seulement je pourrai écrire du texte ,mais il faudra que le systeme y ecrive aussi afin de me retracer exactement comment s' est passé l' exécuton du programme ; par exemple tel fonction est bien exécutée à tel heure et a généré tel valeur ...... tel autre fonction n' a pas pu etre exécuté pour telle raison; telle fonction a été appellée à tel et tel niveau
toutes les explication me seront utiles
Encore merci
GNONGNON
Messages postés
10
Date d'inscription
lundi 26 mars 2007
Statut
Membre
Dernière intervention
10 août 2007
1
9 août 2007 à 12:19
9 août 2007 à 12:19
t' es génial
je me met tout suite au travail je te tiens au courant
merci
je me met tout suite au travail je te tiens au courant
merci
GNONGNON
Messages postés
10
Date d'inscription
lundi 26 mars 2007
Statut
Membre
Dernière intervention
10 août 2007
1
9 août 2007 à 14:14
9 août 2007 à 14:14
c' est bon mamiemando
ca compile
mais ou se trouve le fichier plop.log
je veux l' ouvrir pour voir son contenu
je compte sur ta réponse
merci
(excuse moi si je pose des question trop ...)
ca compile
mais ou se trouve le fichier plop.log
je veux l' ouvrir pour voir son contenu
je compte sur ta réponse
merci
(excuse moi si je pose des question trop ...)
mamiemando
Messages postés
33401
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
28 novembre 2024
7 804
9 août 2007 à 20:55
9 août 2007 à 20:55
Il se trouve dans le répertoire depuis lequel tu as lancé ton exécutable. Pas de souçis pour les questions tu es en bonne compagnie ;)
GNONGNON
Messages postés
10
Date d'inscription
lundi 26 mars 2007
Statut
Membre
Dernière intervention
10 août 2007
1
10 août 2007 à 07:35
10 août 2007 à 07:35
en fait je ne sais comment t' expliquer je ne peux lancer l' executable
car aucun autre projet ne fait appel aux fonction de la dll
t' as une idée
car aucun autre projet ne fait appel aux fonction de la dll
t' as une idée
mamiemando
Messages postés
33401
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
28 novembre 2024
7 804
10 août 2007 à 10:02
10 août 2007 à 10:02
En fait j'ai surtout pas compris à quoi servait la dll si elle n'est pas utilisée. Au pire pour debugger ta dll tu crées un exécutable qui appelle spécifiquement les fonction à tester.
Bonne chance
Bonne chance
GNONGNON
Messages postés
10
Date d'inscription
lundi 26 mars 2007
Statut
Membre
Dernière intervention
10 août 2007
1
10 août 2007 à 10:17
10 août 2007 à 10:17
en fait elle est destinée à l' utilisation par un système pour la gestion de mot de passe
GNONGNON
Messages postés
10
Date d'inscription
lundi 26 mars 2007
Statut
Membre
Dernière intervention
10 août 2007
1
10 août 2007 à 10:34
10 août 2007 à 10:34
es ce que tu comprends mon problème !
mamiemando
Messages postés
33401
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
28 novembre 2024
7 804
10 août 2007 à 15:22
10 août 2007 à 15:22
Ben non je comprends pas où est le problème. Fais un programme qui utilise cette librairie pour la tester. Je comprends pas ce qui te bloque.