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 :

Modifier une chaine de caractere avec son adresse


Sujet :

C

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Modifier une chaine de caractere avec son adresse
    Bonjour

    Voila je suis confronte a un probleme, j'envoie l'adresse d'une chaine de caractere a une fonction et j'essaie de modifier ma chaine de caractere dans cette fonction.

    Bien que j'arrive a modifier toute la chaine de caractere, je ne peux pas modifier les caracteres un par un.

    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
     
    void     test(char **str)
    {
      *str[1] = 'A';
    }
     
    int     main()
    {
      char  *str;
     
      str = malloc(50);
      str = "baaah";
      test(&str);
      printf("%s\n", str);
      return (0);
    }
    Merci pour votre aide !!

  2. #2
    Membre chevronné
    Avatar de Anthony.Desvernois
    Homme Profil pro
    Ingénieur sécurité & risque
    Inscrit en
    Juin 2007
    Messages
    1 489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur sécurité & risque
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 489
    Points : 2 244
    Points
    2 244
    Par défaut
    Il ne me semble pas que ce soit possible lorsque l'on declare une chaine
    comme cela de la modifier.

    Le malloc fait avant est inutile et n'est pas print en compte.
    Utilise plutot s(n)printf.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    str = malloc(BUFFER_SIZE);
    snprintf(str, BUFFER_SIZE, "baaaah\n");

  3. #3
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    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
    #include <stdio.h>
     
    void test (char *str);
     
    int main (void)
    {
       char str[] = "baaah";
       test (str);
       puts (str);
       return 0;
    }
     
    void test (char *str)
    {
       str[1] = 'A';
    }
    ou aussi :
    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
     
    void test (char *str);
     
    int main (void)
    {
       char *str = malloc (sizeof "baaah" + 1);
       strcpy (str, "baaah");       /* attention à la sécurité */
       test (str);
       puts (str);
       free (str);
       return 0;
    }
     
    void test (char *str)
    {
       str[1] = 'A';
    }

Discussions similaires

  1. Modifier une chaine de caractere
    Par titi42 dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 09/12/2009, 17h14
  2. Comment modifier une chaine de caracteres ?
    Par ralf91 dans le forum C#
    Réponses: 14
    Dernier message: 26/04/2008, 15h35
  3. [XSLT] Remplacement d'une chaine de caracteres avec XSL
    Par HyoGz dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 24/01/2008, 09h15
  4. cmt inserer une chaine de caractere avec apostrophe
    Par dipajero dans le forum Oracle
    Réponses: 1
    Dernier message: 13/04/2006, 22h27
  5. Réponses: 2
    Dernier message: 05/12/2005, 13h05

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