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 :

Insertion d'un char dans un char *


Sujet :

C

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Par défaut Insertion d'un char dans un char *
    Salut,

    Voilà je voudrais savoir si c'est possible d'insérer/ajouter un char dans un char * ?

    Par exmple j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    char c1, * c2;
     
    // en admettant que le fichier est bien ouvert et non vide
    while(fscanf(flot, %c, &c1) != EOF)
    {
         // là je voudrais ajouter c1 dans c2
    }
     
    Merci d'avance pour votre aide.

  2. #2
    NoP
    NoP est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 35
    Par défaut
    un char * est un pointeur vers une adresse mémoire.

    avant ta boucle tu doit faire quelquechose du genre :
    c2 = malloc(..); // alloue un tableau de n char

    puis dans ta boucle :
    c2[i] = c1;
    i++;

  3. #3
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut Re: Insertion d'un char dans un char *
    Citation Envoyé par bugmenot
    Voilà je voudrais savoir si c'est possible d'insérer/ajouter un char dans un char * ?
    C'est quoi un char * ?

    http://emmanuel-delahaye.developpez.....htm#char_star
    Par exmple j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    char c1, * c2;
     
    // en admettant que le fichier est bien ouvert et non vide
    while(fscanf(flot, %c, &c1) != EOF)
    {
         // là je voudrais ajouter c1 dans c2
    }
    C'est pas très clair.

    Ajouter signifie ajouter à la fin (append). Dans ce cas,
    - chercher le 0
    - écrire le caractère
    - ajouter un 0 après le caractère

    Evidemment, le tableau de char pointé par c2 doit être suffisament grand...

    Tu parles aussi d'insertion. C'est un peu plus sioux.

    - déterminer la position d'insersion
    - déplacer la fin de chaine de 1 à droite avec memmove()
    - ecrire le caractère.

    Même remarque concernant la taille du tableau...

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

Discussions similaires

  1. Ajouter un char* dans un char**
    Par lirycs78 dans le forum C
    Réponses: 3
    Dernier message: 25/12/2011, 10h18
  2. Convertir un (char *) en (const char *) dans C++
    Par anas.eh dans le forum C++
    Réponses: 10
    Dernier message: 03/09/2007, 13h59
  3. Copier un char* dans un char[xx]
    Par ViRouF dans le forum C++
    Réponses: 8
    Dernier message: 21/03/2007, 15h49
  4. Réponses: 6
    Dernier message: 06/10/2005, 11h30
  5. [SQL] Convertir un champ INT en CHAR dans un SELECT ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/03/2005, 14h45

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