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 :

incrémenter un caractère dans une chaine


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2
    Par défaut incrémenter un caractère dans une chaine
    salut à tous ^^

    Je souhaiterai savoir comment s'y prendre pour incrémenter un caractére dans une chaine j'ai essayé de cette facon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    char *ch;
    ch = "a";
    ++(*ch);
    printf("TEST 1 : %s", ch);
    *ch = 'b';
    printf("TEST 2 : %s", ch);
    Mais je n'ai pas le résultat souhaité, à savoir l'affichage sur la console de "b"

    Si quelqu'un pouvait m'expliquer l'erreur je l'en remercie d'avance

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par mathieu.bo
    salut à tous ^^

    Je souhaiterai savoir comment s'y prendre pour incrémenter un caractére dans une chaine j'ai essayé de cette facon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    char *ch;
    ch = "a";
    ++(*ch);
    printf("TEST 1 : %s", ch);
    *ch = 'b';
    printf("TEST 2 : %s", ch);
    Mais je n'ai pas le résultat souhaité, à savoir l'affichage sur la console de "b"

    Si quelqu'un pouvait m'expliquer l'erreur je l'en remercie d'avance
    Mon Dieu quelle horreur ce code complètement faux en plus.

    Tout simplement, faut pas chercher midi à 14h
    Si tu veux savoir pourquoi ton code ne fonctionne pas demande.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2
    Par défaut
    Mon Dieu quelle horreur ce code complètement faux en plus.


    Tout simplement, faut pas chercher midi à 14h
    Si tu veux savoir pourquoi ton code ne fonctionne pas demande.
    merci pour la réponse mais tout est dans le titre : ce n'est pas un caractère que je veut récupérer mais une chaine...

  4. #4
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Bah c'est pareil

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    char chaine[] = "bonjour";
    chaine[0]++;
    chaine[6]++;

  5. #5
    Membre émérite
    Avatar de Freed0
    Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    635
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 635
    Par défaut
    Salut,

    Ce code fonctionne, "pose des questions si tu ne comprend pas". ©

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    #include <stdio.h>
     
    int
    main (int argc, char **argv)
    {
    	char chaine1[] = "Pepol";
    	char *chaine2 = chaine1;
     
            /* Que l'on fournisse chaine1 ou chaine2 en argument n'a aucune
             * importance, ils désignent la même chaine
             */
    	printf ("Chaine d'origine : %s\n", chaine1);
     
    	chaine1[1] = 'o';
            printf ("Chaine modifiee (classique) : %s\n", chaine2);
     
    	*(chaine2 + 1) = 'i';
    	printf ("Chaine modifiee (pointeurs) : %s\n", chaine2);
     
    	return 0;
    }
    Résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Chaine d'origine : Pepol
    Chaine modifiee (classique) : Popol
    Chaine modifiee (pointeurs) : Pipol

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/11/2005, 13h44
  2. [VS.net] Vérifier le présence d'un caractère dans une chaine
    Par arnolem dans le forum Windows Forms
    Réponses: 15
    Dernier message: 10/09/2005, 15h19
  3. Recuper un caractère dans une chaine. (novice)
    Par Thierry8 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/08/2005, 09h07
  4. Réponses: 8
    Dernier message: 08/06/2004, 01h29

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