Classe cchaine

Description

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...

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.