Une petite classe équivalente à la classe MFC CString mais en plus pratique
Source / Exemple :
#pragma once
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
class CChaine
{
private:
int m_iTailleChaine;
char* m_strChaine;
public:
//constructeur par défaut
CChaine(void);
//constructeur de copie
CChaine(const CChaine& cpChaine);
//constructeur de copie pointeur
CChaine(const CChaine* cpChaine);
//constructeur avec argument (chaîne de caractères)
CChaine(const char* strArgChaine);
//constructeur avec argument (int)
CChaine(const int iArg);
//constructeur avec argument(unsigned int)
CChaine(const unsigned int uiArg);
//constructeur avec argument(float)
CChaine(const float fArg);
//constructeur avec argument(double)
CChaine(const double dArg);
//constructeur avec argument(long)
CChaine(const long lArg);
//constructeur avec argument(char)
CChaine(const char cArg);
//destructeur
~CChaine(void);
//opérateur tableau, retourne le caractère à l'index
char operator [](int iIndex) const;
//opérateur comparaison(==)
int operator ==(const CChaine& argChaine) const;
//opérateur comparaison(!=)
int operator !=(const CChaine& argChaine) const;
//opérateur addition(+=)
CChaine operator +=(const CChaine& argChaine);
//opérateur addition symétrique (+)
friend CChaine operator +(const CChaine& argChaine1,const CChaine& argChaine2);
//opérateur affectation(=)
CChaine operator =(const CChaine& argChaine);
//incrémente tous les caractères alphanumériques
CChaine operator ++();
//décrémentete tous les caractères alphanumériques
CChaine operator --();
//retourne TRUE si la chaine est vide
BOOL IsVide(void) const;
//retourne la taille de la chaîne
int GetTaille(void) const;
friend size_t strlen(const CChaine& Chaine);
//retourne le nombre d'occurrences d'un caractère dans la chaîne
int NbOccurances(char cCaract) const;
//retourne le nombre d'occurrences d'une chaîne dans la chaîne
int NbOccurances(const char* strOccur) const;
//compare avec casse (identique à ==)
int CompareAvecCasse(const CChaine& argChaine) const;
//compare sans casse
int CompareSansCasse(const CChaine& argChaine) const;
//retourne l'index de la première occurence du caractère
int GetPos(char cCaract) const;
//retourne la valeur int correspondante
operator int() const;
//retourne la valeur float correspondante
operator float() const;
//retourne la valeur double correspondante
operator double() const;
//retourne la valeur long correspondante
operator long() const;
//retourne la valeur char correspondante
operator char() const;
//retourne la chaine terminée par '\0'
operator const char*() const;
//remplace toutes les occurences d'un caractère par un autre
void Remplace(char cCaract1,char cCaract2);
//remplace toutes les occurences d'une chaîne par une autre
void Remplace(const char* strChaine1,const char* strChaine2);
//insère une chaîne à un emplacement donné
void Insert(const char* strChaine, int iEmplacement);
//supprime le caractère de la chaine placé à l'index
void Supprime(int iIndex);
//supprime toutes les occurrences d'un caractère dans la chaîne
void Supprime(char cCaract);
//supprime toutes les occurrences d'une chaine dans la chaîne
void Supprime(const char* strChaine);
//renverse tous les caractères (le premier sera le dernier)
void Renverse(void);
//convertis en majuscules
void ConvertMaj(void);
//convertir en minuscule
void ConvertMin(void);
//extrait la partie gauche de la chaîne
friend CChaine GaucheStr(const CChaine& strChaine, int iNbCaract);
//extrait le milieu de la chaîne
friend CChaine MilieuStr(const CChaine& strChaine, int iDebut, int iNbCaract);
//extrait la partie droite de la chaîne
friend CChaine DroiteStr(const CChaine& strChaine, int iNbCaract);
//vide la chaine
void Reset(void);
};
Conclusion :
Vos commentaires sont les bienvenus...
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.