Fonction trim (enleve les espaces) [code en c]

Soyez le premier à donner votre avis sur cette source.

Snippet vu 21 880 fois - Téléchargée 38 fois

Contenu du snippet

Cette fonction permet d'enlever les espace au debut et a la fin d'une chaine de caractaire.

Source / Exemple :


#include <ctype.h>
#include <string.h>

#define NUL '\0'

char *trim(char *str)
{
      char *ibuf = str, *obuf = str;
      int i = 0, cnt = 0;

      if (str)
      {

            for (ibuf = str; *ibuf && isspace(*ibuf); ++ibuf)
                  ;
            if (str != ibuf)
                  memmove(str, ibuf, ibuf - str);

            while (*ibuf)
            {
                  if (isspace(*ibuf) && cnt)
                        ibuf++;
                  else
                  {
                        if (!isspace(*ibuf))
                              cnt = 0;
                        else
                        {

  • ibuf = ' ';
cnt = 1; } obuf[i++] = *ibuf++; } } obuf[i] = NUL; while (--i >= 0) { if (!isspace(obuf[i])) break; } obuf[++i] = NUL; } return str; }

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
mardi 2 octobre 2007
Statut
Membre
Dernière intervention
10 novembre 2010

Bravo, ça marche bien, c'est du boulot nickel. J'étais pressé pour finir un programme et cette petite fonction m'a permis de finir à temps. Sinon j'aurai perdu du temps à la faire moi même.
Merci beaucoup.
Messages postés
17
Date d'inscription
lundi 13 mai 2002
Statut
Membre
Dernière intervention
10 mai 2005

salut je voudrais savoir si on peut, ala place d'enlever les espace, si on pourait, repérer un caractère et le remplacer pas un autre ?

exemple:
valeur ="jean-michel"

apres avoir

valeur ="jean.michel"

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.