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 :

Chaine + Char


Sujet :

C

  1. #1
    Membre très actif Avatar de Goundy
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    605
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 605
    Par défaut Chaine + Char
    Question bête, mais ca me prend la tête,
    Comment ajouter un caractere à une chaîne de caractère.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    char mon_car;
    char* tab;
    //traitement: allocation de tab...etc
    ...
    tab=tab+mon_car; //j'ai essayer ca mais ca va pas quoi lol
    Merçi
    Compil your life guy!
    The Aures Project

  2. #2
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Il faut utiliser strcat. Mais il faut que la mémoire pour tab soit allouée ( sinon seg fault).

  3. #3
    Membre très actif Avatar de Goundy
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    605
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 605
    Par défaut
    Citation Envoyé par hegros
    Il faut utiliser strcat. Mais il faut que la mémoire pour tab soit allouée ( sinon seg fault).
    strcat ne vas pas, regarde:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    char* data, char *buf;
    //les deux alloués... ;)
    strcat(data, buf[pos]);
    et j'ai:
    60 C:\Documents and Settings\Root\Mes documents\XXXXX\Créations\C\adapter.c [Warning] passing arg 2 of `strcat' makes pointer from integer without a cast
    Compil your life guy!
    The Aures Project

  4. #4
    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: Chaine + Char
    Citation Envoyé par Goundy
    Question bête, mais ca me prend la tête,
    Comment ajouter un caractere à une chaîne de caractère.
    sprintf().

  5. #5
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Ah oui un caractere.

    Il te suffit d'utiliser l'indice du tableau.

    EDIT : sprintf en effet. J'oublie les fonctions C moi :o

  6. #6
    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
    Citation Envoyé par hegros
    Il faut utiliser strcat.
    Non. strcat() ajoute une chaine, pas un caractère.

  7. #7
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Deux solutions
    celle de hegros (avec une chaîne de 1 caractère Emmanuel).
    buf[strlen(buf) + 1] = 0; buf[strlen(buf)] = 'a';
    Attention, à l'ordre, si tu intervertis les deux instructions, tu risques le segfault !!

    [edit] j'avais oublié le sprintf [/edit]
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  8. #8
    Membre très actif Avatar de Goundy
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    605
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 605
    Par défaut Re: Chaine + Char
    Citation Envoyé par Emmanuel Delahaye
    Citation Envoyé par Goundy
    Question bête, mais ca me prend la tête,
    Comment ajouter un caractere à une chaîne de caractère.
    sprintf().
    Merçi, c'est ce qu'il me fallait
    et merçi a tous
    Compil your life guy!
    The Aures Project

  9. #9
    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
    Citation Envoyé par Trap D
    celle de hegros (avec une chaîne de 1 caractère Emmanuel).
    Le monsieur, il a dit 'caractère', pas 'chaine'

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 33
    Par défaut
    bonjour, je ne sais pas si il faut creer un nouveau sujet ou si je peu repondre ici
    mais j ai sensiblement le meme pb et je n arrive pas a le resoudre
    concretement, j ai un pointeur char et je voudrais tout decaler de 1;
    voici mon code, si vous pouvez m aider ...

    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 main(){
     
    char *p;
    int i;
    char x;
     
    p=(char*)malloc(12*sizeof(char)); 
    p=("jean jean");
    i=0;
     
    while(i!=10){
    	p[i]=p[i+1];
    	++i;	
    }
    }
    bien sur j ai une seg fault

  11. #11
    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
    Citation Envoyé par banania
    bonjour, je ne sais pas si il faut creer un nouveau sujet ou si je peu repondre ici
    Créer un nouveau sujet...
    bien sur j ai une seg fault
    Ben oui, tu cherches à modifier un chaine constante...
    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
    22
    23
    24
    25
     
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
     
    int main(void)
    {
       int size = 12;
       char *p = malloc(size);
       if (p != NULL)
       {
          int i = 0;
          strcpy (p, "jean jean");
          printf ("'%s'\n", p);
          while (i < size - 2)
          {
             p[i] = p[i + 1];
             ++i;
          }
          printf ("'%s'\n", p);
          free (p), p = NULL;
       }
     
       return 0;
    }
    Pose des questions si tu ne comprends pas...

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

Discussions similaires

  1. conversion de chaine char en date
    Par Marc_27 dans le forum DB2
    Réponses: 18
    Dernier message: 11/05/2010, 10h00
  2. [sockets TCP] pb envoi de chaines, char :s
    Par sqwam71 dans le forum C
    Réponses: 9
    Dernier message: 14/01/2007, 00h10
  3. executer une chaine char avec asm() [prob]
    Par rogerio dans le forum C++
    Réponses: 14
    Dernier message: 22/06/2006, 18h19
  4. Char(x) -> chaine concaténée d'espaces ?
    Par rgz dans le forum Débuter
    Réponses: 7
    Dernier message: 27/06/2003, 11h59
  5. Réponses: 6
    Dernier message: 24/03/2003, 17h11

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