Classe chaine de caractères

Description

C'est une classe C++ de chaine de caractères. Ca sert à éviter les problèmes de taille de tableau : on peut remplacer
char tablo[100];
strcpy(tablo, uneChaine);
// [...] suite
strcat(tablo, uneAutreChaine);
// [...] suite
strcat(tablo, encoreUneAutreChaine);

par
CChaine chaine(uneChaine);
//...
chaine += uneAutreChaine;
//...
chaine += encoreUneChaine;

on évite ainsi les dépassements de buffer car la taille nécessaire est calculée à chaque fois (sauf pour la méthode Format basée sur sprintf qui demande une taille... je vais corriger ça quand j'aurai du temps) et puis, ca parle plus!

Source / Exemple :


TelechargerZip();
OuvrirZip();
RegarderZip();

Conclusion :


fonctions de cette classe :

- constructeurs, opérateurs d'affectations pour définir la chaine (c'est mieux quand meme)
- opérateurs + et += pour la concaténation
- opérateurs == et != pour la comparaison

- opérateurs de transtypage :
vers const char* pour pouvoir l'utiliser avec une fonction réclamant un const char*
vers bool pour savoir si la chaine contient quelque chose :
if(chaine) // si la chaine contient quelque chose
- opérateur ! pour savoir si elle est vide
if(!chaine) // si elle est vide

- méthode GetMD5() pour obtenir le md5 de la chaine

voila, c'était ma premiere source, désolé pour le manque de commentaires j'en rajoute dès que j'ai le temps...
je prépare une classe Socket et une classe Fichier qui l'utiliseront, c'est presque fini... et avec des commentaires :-p

n'hésitez pas à laisser vos remarques, vos conseils...

PS: j'ai mis ça sous forme de DLL, parce que ca rentre pas dans le cadre d'un programme, vous pouvez changer pour une lib dans Visual c++ sans rien changer au code, ou bien l'intégrer à votre prog

Codes Sources

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.