begin process at 2012 05 27 16:23:58
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caractères

 > FONCTION TRIM (ENLEVE LES ESPACES) [CODE EN C]

FONCTION TRIM (ENLEVE LES ESPACES) [CODE EN C]


 Information sur la source

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Chaîne de caractères Classé sous :trim, espace, supprimer, ltrim, rtrim Niveau :Débutant Date de création :20/06/2001 Vu :17 304

Auteur : krtman

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note


 Description

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

Source

  • #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;
  • }
#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;
}    



 Sources du même auteur

Source avec une capture EXEMPLE DE LISTE DEROULANTE EN GTK+
Source avec une capture EXEMPLE D'ENTREE TEXTE EN GTK+
Source avec une capture EXEMPLE DE FENETRE EN GTK+
Source avec une capture EXEMPLE DE LISTE A COLONNE EN GTK+
Source avec une capture EXEMPLE DE PANED EN GTK+

 Sources de la même categorie

CALCUL DE CLEF RIB par Renfield
Source avec Zip [C] WD_STRING V2.2 par cyberripper
Source avec Zip LES STRING EN C, AFFECTATION, CONCATÉNATION, SPLIT, ... par appranting
Source avec Zip [C] WD_STRING V1.9 par cyberripper
Source avec Zip LIBRAIRIE LANGUAGES par astro53

 Sources en rapport avec celle ci

SSCANF POUR SUPPRIMER DES ESPACES (COMME TRIM()) par darkpoulpo
SUPPRESSION RÉCURSIVE DE FICHIERS (DELTREE) par anhackers2
Source avec Zip Source avec une capture [C/API] SUPPRESSION DE FICHIERS EN DOUBLE (NOMS/CONTENUS) par ncoder
SUPPRESSION D'UN RÉPERTOIRE par lebdenat
Source avec Zip LES ARBRES par jabirmed

Commentaires et avis

Commentaire de michou973 le 10/05/2005 20:31:53

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"

Commentaire de phoubl le 10/11/2010 16:17:03 10/10

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.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

supprimer la sam d'un server [ par scoum ] y ' a t'il moyen de supprimer (completement) le sam d'un serveur 2000 pour eviter qu'elle ce regenere automatiquement au reboot je veux redemarrer en AIDE programme supprimer un fichier ! SVP [ par nico ] salut à tous,je suis un gros nul en c++ , je viens de telecharger dev-c++ et j'aimerais faire mon premier programe tout simple pour supprimer un fichi supprimer des caracteres specifiques [ par header ] J'ai une chaine de caractere CString de forme : [abcdefgh]Je n'arrive pas a supprimer les accolades("[" et "]").G tenté le m_machaine.Delete mais ca supprimer tout les fichiers d'un répertoire [ par AoD ] je recherche une fonction qui permet de supprimer tout les fichiers d'un répertoire.merci de vite me répondre Urgent:supprimer une chaine d'un fichier [ par rene77 ] Bonjour à tous, J'ai besoin de supprimer des chaines de caractères d'un fichier txt.Je travaille sous Builder et j'y arrive pas !!!OUINNNN OUINNNS'il A la bour pour projet de sup de PJ dans un mail, AIDEZ MOI, SVP! [ par vondengluck ] Je suis étudiant en informatique industriel. La fin d'anée est marquée par la réalisation de nb projets dans différantes matières. J'ai un projet en c Ecriture de fichier texte & Séparateur !! [ par Misutsu ] bonjour :)C'est la première fois que j'ai à utiliser des fichiers en C++, et je vois que l'espace sert de séparateur.Dans mon cas, j'ai besoin d'enreg Supprimer un répertoire [ par Hundai ] Comment supprimer un répertoire et tout son contenu ??? (même s'il contient d'autres répertoires).Merci Supprimer / rendre invisible un élément d'un menu [ par vow ] Bonjour,J'ai créé un menu PRSARCH avec 6 items dont les IDs sont : IDM_A, IDM_B, IDM_C, IDM_D, IDM_E, IDM_F.Selon les cas dans mon code, j'aimerais su Supprimer les n premiers octet d'un fichier [ par arc59 ] Bonjour, dans mon programme de modification des ID 3 tag, je voudrai permettre à l'utilisateur de supprimer les Id3tag de version 2. Ces tag sont plac


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,513 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales