yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 2016
-
29 déc. 2006 à 19:09
NoRabbit
Messages postés224Date d'inscriptionsamedi 26 juillet 2003StatutMembreDernière intervention30 mars 2009
-
29 mai 2007 à 11:59
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
NoRabbit
Messages postés224Date d'inscriptionsamedi 26 juillet 2003StatutMembreDernière intervention30 mars 2009 29 mai 2007 à 11:59
effectivement, je re-upload des que je peux.
ppatrice82
Messages postés1Date d'inscriptionvendredi 25 mai 2007StatutMembreDernière intervention25 mai 2007 25 mai 2007 à 17:46
Même problème que Rollinbe, je n'arrive pas à ouvrir le ZIP...
Rollinbe
Messages postés2Date d'inscriptionmardi 24 décembre 2002StatutMembreDernière intervention24 mai 2007 24 mai 2007 à 17:31
Impossible d'ouvrir le fichier pourtant j'ai la la derniere version de winrar voir message ci-dessous
! C:\Documents and Settings\Benjamin\Bureau\cppfrance_CLASSE-CLIENT-HTTP-MULTITACHE-MAJ_40904.zip: Méthode inconnue dans sClientHTTP\main.h
! C:\Documents and Settings\Benjamin\Bureau\cppfrance_CLASSE-CLIENT-HTTP-MULTITACHE-MAJ_40904.zip: Pas de fichier à extraire
NoRabbit
Messages postés224Date d'inscriptionsamedi 26 juillet 2003StatutMembreDernière intervention30 mars 2009 10 janv. 2007 à 05:35
nouvelle version:
- sClientHTTP: gere les chunks (transfer-encoding: chunked), meilleure gestion des evenements (reponses HTTP, fin reception donnees, erreurs...)
- sString: ajout de qques fonctions: hex2dec, rTrim, lTrim et trim.
NoRabbit
Messages postés224Date d'inscriptionsamedi 26 juillet 2003StatutMembreDernière intervention30 mars 2009 4 janv. 2007 à 17:31
nouvelle version dispo:
sClientHTTP: reception de fichiers et gestion de l entete HTTP
sString: plus d operateurs et fonction de conversion en un entier (nombre)
aucun bug connu.
NoRabbit
Messages postés224Date d'inscriptionsamedi 26 juillet 2003StatutMembreDernière intervention30 mars 2009 31 déc. 2006 à 14:48
pas de soucis. Je t ai bien compris et ton message m a quand meme aide ;).
Bon, les choses serieuses maintenant:
apres qques tentatives de mise a jour de ce code, he ben j ai remis a jour le code.
J ai verifie, le zip est ok.
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 201626 30 déc. 2006 à 18:05
Je veux bien te "comprendre", mais tu poses des questions ciblées, j'essaye de te répondre ciblé et pas de t'enfumer avec de bons sentiments.
Je me suis permis de poster parceque justement travailler sur une classe "string" en c++ est un très bon moyen de bien comprendre les concepts d'operateurs surchargés.
Quant tu fais :
sString resultat = buffer_sz;
UN OBJET sString = un pointeur sur char;
Il faut savoir les mécanismes de copie et d'affectation que tu déclanches, surtout si tu ne les a pas défini dans ta classe, le résultat ne peut être qu'un bug.
Donc, bonne continuation...
NoRabbit
Messages postés224Date d'inscriptionsamedi 26 juillet 2003StatutMembreDernière intervention30 mars 2009 30 déc. 2006 à 11:48
yep kirua,
ca fait plaisir de se sentir compris... ;)
pour ceux a la recherche de classes bien ecrites (string et autres...), voici une adresse qui m a l air pas mal:
http://www.bti.net/core_lib.php
ou faites une recherche avec "virtual operator + (const char*)const", google va vous trouver plein de choses.
NoRabbit
Messages postés224Date d'inscriptionsamedi 26 juillet 2003StatutMembreDernière intervention30 mars 2009 30 déc. 2006 à 11:36
je sais, ca doit pomper une autre classe de string mais grace a ton aide j ai pu trouver des classes contenant ces bouts de code que je n avais jamais vu auparavant (comme ces operateurs = qui retournent une "Chaine&",... on en apprend tous les jours)
tkx.
une fois ces strings reglees, je me reconcentre sur la classe HTTP (gestion simple du protocole et reception de fichier)
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 30 déc. 2006 à 11:24
Ça ne répond à aucune de tes questions, mais préfère tout de même, dans la pratique, utiliser l'en-tête C++ standard <string> (à ne pas confondre avec <string.h> ou plus proprement <cstring>). Tu trouveras plein de documentation en cherchant les mots "std string C++" sur ton moteur favori.
Du reste, je comprends bien que c'est dans le but de te former que tu as écrit cette classe. J'ai pas le temps de la lire pour te donner mon avis par contre, mais fais vraiment gaffe à bien avoir une désallocation pour chaque allocation: c'est extrêmement important!
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 201626 29 déc. 2006 à 19:15
Pour faire bien il te faut 2 operator = :
const Chaine& operator = (const char*);
const Chaine& operator = (const Chaine&);
29 mai 2007 à 11:59
25 mai 2007 à 17:46
24 mai 2007 à 17:31
! C:\Documents and Settings\Benjamin\Bureau\cppfrance_CLASSE-CLIENT-HTTP-MULTITACHE-MAJ_40904.zip: Méthode inconnue dans sClientHTTP\main.h
! C:\Documents and Settings\Benjamin\Bureau\cppfrance_CLASSE-CLIENT-HTTP-MULTITACHE-MAJ_40904.zip: Pas de fichier à extraire
10 janv. 2007 à 05:35
- sClientHTTP: gere les chunks (transfer-encoding: chunked), meilleure gestion des evenements (reponses HTTP, fin reception donnees, erreurs...)
- sString: ajout de qques fonctions: hex2dec, rTrim, lTrim et trim.
4 janv. 2007 à 17:31
sClientHTTP: reception de fichiers et gestion de l entete HTTP
sString: plus d operateurs et fonction de conversion en un entier (nombre)
aucun bug connu.
31 déc. 2006 à 14:48
Bon, les choses serieuses maintenant:
apres qques tentatives de mise a jour de ce code, he ben j ai remis a jour le code.
J ai verifie, le zip est ok.
30 déc. 2006 à 18:05
Je me suis permis de poster parceque justement travailler sur une classe "string" en c++ est un très bon moyen de bien comprendre les concepts d'operateurs surchargés.
Quant tu fais :
sString resultat = buffer_sz;
UN OBJET sString = un pointeur sur char;
Il faut savoir les mécanismes de copie et d'affectation que tu déclanches, surtout si tu ne les a pas défini dans ta classe, le résultat ne peut être qu'un bug.
Donc, bonne continuation...
30 déc. 2006 à 11:48
ca fait plaisir de se sentir compris... ;)
pour ceux a la recherche de classes bien ecrites (string et autres...), voici une adresse qui m a l air pas mal:
http://www.bti.net/core_lib.php
ou faites une recherche avec "virtual operator + (const char*)const", google va vous trouver plein de choses.
30 déc. 2006 à 11:36
tkx.
une fois ces strings reglees, je me reconcentre sur la classe HTTP (gestion simple du protocole et reception de fichier)
30 déc. 2006 à 11:24
Du reste, je comprends bien que c'est dans le but de te former que tu as écrit cette classe. J'ai pas le temps de la lire pour te donner mon avis par contre, mais fais vraiment gaffe à bien avoir une désallocation pour chaque allocation: c'est extrêmement important!
29 déc. 2006 à 19:15
const Chaine& operator = (const char*);
const Chaine& operator = (const Chaine&);
Et 4 operator + : (ton friend n'est pas bon)
// Le tiens ici (pas friend)
virtual Chaine operator + (const Chaine&) const;
// Les autres ici
virtual Chaine operator + (const char*) const;
virtual Chaine operator + (char) const;
friend Chaine operator + (const char*, const Chaine&);
Tchao.
29 déc. 2006 à 19:09
Tu ne détruis pas les copies !!!!
As tu implémenté l'operator = et le constructeur par recopie ?
Et SURTOUT l'operator cast ?
sString::operator char*() const
{
return buffer;
}
pour la concaténation, y'a + simple :
sString operator +(const sString &a , const sString &b)
{
sString s(a.len + b.len);
strcpy(s.buffer, a.buffer);
strcat(s.buffer, b.buffer);
return s;
}
Il n'y a aucune raison d'emplecher le destructeur de travailler !!!