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 :

comment convertir un char en char*?


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 17
    Par défaut comment convertir un char en char*?
    bonjour a tous!!
    je commence dans la programmation en c et g un petit probleme, je voudrai convertir un char en char*
    existe-il une fonction qui nous permet de faire ça ??
    merci d'avance !!

  2. #2
    Membre éprouvé Avatar de amaury pouly
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    157
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 157
    Par défaut
    Explique plus précisemment ce que tu veux faire.
    Est-ce que tu veux faire quelque chose comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    char c='a';
    char *str=fonction_magique(c);
    /* ici str="a" */
    ?

    Si oui, il y a deux façons.
    La première est adaptée si tu ne veux pas allouer de mémoire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    /* traitement */
    char c=...;
    /* traitement */
    char str[2];
    str[0]=c;
    str[1]='\0';
    Attention à ne pas prendre l'adresse de str n'importe comment !

    La seconde façon alloue de la mémoire(et doit donc la libérer !):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    char *char2string(char c)
    {
       char *str=malloc(2*sizeof(char));
       if(str==NULL)
         return NULL;
       str[0]=c;
       str[1]='\0';
       return str;
    }

  3. #3
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    je commence dans la programmation en c et g un petit probleme, je voudrai convertir un char en char*
    La question n'a pas de sens : ou c'est un char ou c'est un char* (c'est à dire, probablement, un tableau de char). Les deux concepts sont radicalement différents.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Si on se contente de lire la question la réponse pourrait être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    char c='a';
    char *pc = &c;
    Pour pousser encore plus dans l'impertinence, nous pourrions dire soit une boite dans { char, long, int, ... } pour retourner un pointeur vers la boîte "il suffit" de créer un boite* pboite et de mettre l'adresse d'une boite dedans.

    Vous pourrez remarquer qu'en C, un "pointeur vers" une boîte peut s'étendre à un pointeur vers un tableau de boîtes.

    Lorsque la boîte est un char, nous pénétrons dans un domaine assez particulier définit par la convention : la fin d'un tableau de char est signalée par '0'.
    Ceci dit, rien de tel n'est définit pour les autres "boîtes": comment est signalée la fin d'un tableau d'entiers?

    Pour les débutants tout cela peut paraître "bizarre".
    Mais comme nous avons la chance de pratiquer le français, un language riche en exceptions, que l'on mémorise à force de renvois aux racines latines, grecques, autres... nous sommes peut être plus tolérants face à ce type d'irrégularités.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    ...la fin d'un tableau de char est signalée par '0'....
    Heu ... non (mais je chipote un peu ).

    La fin d'une chaine de caractères est signalée par '0' (et en plus, c'est '\0'). Il est possible d'avoir des tableaux de char qui ne sont pas des chaines de caractères et donc qui ne sont pas terminés par 0.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par ram-0000 Voir le message
    Heu ... non (mais je chipote un peu ).

    La fin d'une chaine de caractères est signalée par '0' (et en plus, c'est '\0'). Il est possible d'avoir des tableaux de char qui ne sont pas des chaines de caractères et donc qui ne sont pas terminés par 0.
    Oops!
    Tu as tout à fait raison...
    J'ai du mal a décoincer de SQL et PHP: je dégaine des ''' un peu trop vite ;-(
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    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 fatweb Voir le message
    bonjour a tous!!
    je commence dans la programmation en c et g un petit probleme, je voudrai convertir un char en char*
    existe-il une fonction qui nous permet de faire ça ??
    merci d'avance !!
    Cette question n'a aucun sens.

    http://emmanuel-delahaye.developpez....ge=Page5#LXXVI

Discussions similaires

  1. Comment convertir un int en char
    Par pierrot10 dans le forum Débuter
    Réponses: 3
    Dernier message: 23/07/2013, 19h33
  2. Comment convertir une string en char C++
    Par Contractofoued dans le forum C++Builder
    Réponses: 2
    Dernier message: 14/06/2008, 15h19
  3. Réponses: 2
    Dernier message: 25/10/2006, 18h09
  4. comment convertir un string^ en char*?
    Par chrono23 dans le forum C++/CLI
    Réponses: 2
    Dernier message: 10/10/2006, 15h49
  5. [debutant] Comment convertir un string en char
    Par jbidou88 dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 04/05/2006, 12h58

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