Addslash & removeslash ( chaine de caractère )

Contenu du snippet

Sous VB il y à plusieurs petit exemple qui montre comment ajouter et/ou enlever une barre oblique(\) à la fin d'une chaine(Le nom d'un répertoire par exemple) et plein d'autres petits exemple du genre, donc j'ai pensé faire la même chose en C++ et voila le résultat pour la barre oblique,

Source / Exemple :


#include <stdio.h>
#include <string>

// Prototypes
void AddSlash(char *Chaine);
void RemoveSlash(char *Chaine);

// Entré
int main()
{

char MaChaine[50] = "C:\\Mes documents";

      // Ajoute une barre oblique(\)
      AddSlash(MaChaine);
      // Affiche la chaine
      cout << MaChaine << endl;

      // Enlève la barre oblique
      RemoveSlash(MaChaine);
      // Affiche la chaine
      cout << MaChaine << endl;

      return 0;

}

// Pour ajouter une barre oblique si manquante
// Note: Prévoir une chaine assez longue pour pouvoir rajouter la barre oblique(\) et éviter d'avoir une erreur :)
void AddSlash(char *Chaine)
{
int i = (strlen(Chaine)-1);
      // Si la chaine n'est pas vide(NULL)
      if (i > 0)
      {

            // S'il n'y à pas de barre oblique(\) à la fin
            if (Chaine[i] != '\\')
                  strcat(Chaine, "\\");  // On l'ajoute

      }
      else  // sinon
            strcpy(Chaine, "\\");  // Renvoie une barre oblique(\)

// C'est tout!
}

// Enlever la barre oblique à la fin si existante
void RemoveSlash(char *Chaine)
{
int i = (strlen(Chaine)-1);
      // Si la chaine n'est pas vide(NULL)
      if (i > 0)
      {

            // S'il y à une barre oblique(\) à la fin
            if (Chaine[i] == '\\')
                  Chaine[i] = 0; // On l'enlève

      }

}

// Bon ok, il y à d'autre facon de faire et surment plus simple, mais bon, ce n'est qu'un exemple :)

Conclusion :


Ce code je les tester sous Dev-C++ 4 mais il devrait bien fonctionner sous Borland et VC++...

Si il y à un problème avec ce code ou autres, laissez moi un message!

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.