IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

suppression d'espace d'une chaine de caractère


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 9
    Par défaut suppression d'espace d'une chaine de caractère
    bonjour tout le monde ,j'ai un problème au niveau d'un programme qui supprime les espaces d'une chaine de caractère:
    quand j'exécute le programme ,les espaces disparaissent mais le dernier caractère peut se répéter plusieurs fois comme il se peut qu'il ne se répète pas ,j'espère que vous pourrez m'apporter de l'aide et merci d'avance.
    Images attachées Images attachées   

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juin 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 257
    Par défaut
    Bonjour,

    En ligne 22 : pourquoi j<n-1 ?
    La longueur de la chaîne restante diminue en fonction du nombre d’espaces supprimés et il faut penser à avancer aussi le caractère de fin de chaîne ‘\0’

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 9
    Par défaut
    Citation Envoyé par nanosoft Voir le message
    Bonjour,

    En ligne 22 : pourquoi j<n-1 ?
    La longueur de la chaîne restante diminue en fonction du nombre d’espaces supprimés et il faut penser à avancer aussi le caractère de fin de chaîne ‘\0’
    est-ce que vous avez une idée pour faire cela et merci d'avance

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juin 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 257
    Par défaut
    En général, lorsque je fais ce genre de manipulation je ne touche pas à la chaîne « origine » et j’écris dans une autre chaîne « destination » pour éviter de lire des emplacements déjà modifiés.
    Cependant cela peut être le but de l’exercice de le faire sur une chaîne unique.
    strlen() ne compte pas le caractère de fin de chaîne donc ici j’ai l’impression que cela doit marcher en remplaçant (n-1) par (n+1) en décalant toute la fin de la chaîne d’origine mais je n’ai pas testé.

  5. #5
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 600
    Par défaut
    La seconde boucle s'arrête avant n-1 donc un indice trop tôt. Il faut aussi déplacer de terminateur de chaîne qui est en position n, il manque donc la copie dans [n-1] de [n]. La chaîne raccourcit ainsi d'un caractère pour chaque espace enlevée.

Discussions similaires

  1. Suppression des espaces d'une chaine
    Par dv-2008 dans le forum VB.NET
    Réponses: 2
    Dernier message: 25/04/2008, 00h17
  2. Réponses: 12
    Dernier message: 20/12/2007, 20h44
  3. Supprimer les espaces dans une chaine de caractères
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 23/07/2007, 22h24
  4. Supprimer les espaces d'une chaines de caractères
    Par pekka77 dans le forum Langage
    Réponses: 4
    Dernier message: 09/08/2006, 17h02
  5. eliminer les espaces d'une chaine de caractères
    Par wassim_kh dans le forum Langage
    Réponses: 1
    Dernier message: 14/07/2006, 11h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo