APPRENDRE LE FONCTIONNEMENT DES CLASSE + CLASS POUR CREER UN FICHIER LOG

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 10 juin 2004 à 20:45
nepi Messages postés 85 Date d'inscription dimanche 13 juin 2004 Statut Membre Dernière intervention 30 décembre 2007 - 25 juin 2004 à 20:52
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/23583-apprendre-le-fonctionnement-des-classe-class-pour-creer-un-fichier-log

nepi Messages postés 85 Date d'inscription dimanche 13 juin 2004 Statut Membre Dernière intervention 30 décembre 2007
25 juin 2004 à 20:52
Ok ok j'ai changé de pseudo mais c'est moi :: mon code est detesté par moi et maintenant par vous ... je vais me pendre :(

Non mais en fait je savais pas quoi faire et je me suis dit tien je vais faire une source et comme j'avais pas d'idee et puis j'etais en train d'apprendre les classes je me suis dit je vais faire ca. (note : je ne connaissez pas encor les constructeurs c'est pour ca !!!)

Mais je fais pas de c++ comme ca d'habitude : je fais de l'OpenGl et la je suis en train de faire une super librarie - peut etre que je n'aurais pas 3 cette fois - ci ..............................
++ (merci de vos commentaires)
Utilisateur anonyme
13 juin 2004 à 19:45
D'accord, ces précisions étaient aussi importantes qu'intéressantes.
++
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
13 juin 2004 à 19:35
oui d'accord mais open c'est posix et donc non standard, si tu ve rester standard et forer l'ecriture dans les fichiers log ya pas trop le choix

TeLeTUbIz ==> je m'en doute, mais je parlait des e/s standards
sinon oui, cerr n'est pas bufferisée, pour garantir l'affichage en cas de plantage par exemple
flush n'a aucun effet sur cerr, urilisé endl sur cerr est inutile
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
13 juin 2004 à 19:28
en C fopen est bufferisé mais pas open si jme rappelle bien
Utilisateur anonyme
13 juin 2004 à 19:22
cerr n'est pas bufferisé ? Pourtant il descend de ostream de stream et de tout le tintouin. Et les primitives des buffers marchent dessus...

Les E/S non bufférisés ? Ben ouai, certainement. Tous les acces en bas niveau sont non bufférisés, mais file de C et fstream de C++ sont bufférisés (le premier je doute).
Enfin, faudrait se renseigner.
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
13 juin 2004 à 18:49
ca existe les e/s fichier non bufferisée ??
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
13 juin 2004 à 17:42
endl fait '\n' + flush :o ca sert a rien d'utiliser des e/s fichier bufferisé si tu flush a chaque fois :o
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
13 juin 2004 à 17:08
cerr ecrit sur la sortie erreur et n'est pas bufferisé, contrairement à clog
Utilisateur anonyme
13 juin 2004 à 16:20
Ouai, vraiment très léger. En fait, c'est juste une classe qui permet d'écrire dans des fichiers. Le mieux, c'est de faire:
ofstream log("monlog.log");
puis ensuite log << "OUVERTURE programme" << endl;
log << "la fonction renvoie le code: " << fonction(12) << endl;
etc...
C'est bien foutu les streams avec la STL alors pkoi s'emmerder ?
Puis normalement y'a un stream prévu pour la gestion du log et des erreurs c'est cerr <<
Mais pour beaucoup de compilos, il est équivalent à cout (dommage).
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
11 juin 2004 à 09:29
on dirait du C a part le mot clé classe :o

essaye de fonctionner avec std::string (ca evitera de faire des anneries comme de qu'a remarqué djl) et std::ofstream ...
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
11 juin 2004 à 09:27
et les constances ?
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
10 juin 2004 à 20:52
revoi ca aussi
void LOG::init( char *nom )
{
NOM = nom;
}
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
10 juin 2004 à 20:45
un peu lege

si tu te servais du constructeur (par defaut) et du destructeur, plus besoin de methodes init et fermer, et ouvrir serait optionnelle

ta pas compris le principe de securite
Rejoignez-nous