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 :

conversion struct to char*?


Sujet :

C

  1. #1
    Membre averti
    Inscrit en
    Août 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 47
    Par défaut conversion struct to char*?
    Bonjour,

    je veux passer des données dans une pipe, en fait les donnée sont sous format des structures(struct). est ce qu'il y a une possibilité de convertir un struct en char*.

    merci.

  2. #2
    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 radouane_as Voir le message
    je veux passer des données dans une pipe, en fait les donnée sont sous format des structures(struct). est ce qu'il y a une possibilité de convertir un struct en char*.
    char * est un simple pointeur sur char. Que veux-tu faire exactement ? Si il s'agit de former une chaine de caractères selon un format bien défini, à partir de s données d'une structure, oui, bien sûr, c'est possible. Pour ça, en général sprintf() suffit.

    Attention à ce que le tableau de char de destination (qui va donc contenir la chaine) soit de taille suffisante. Les débordements ne sont pas contrôlés en C et tout dépassement entraine un comportement indéterminé (un bug...)

    Si l'environnement de développement le permet, utilise snprintf().

  3. #3
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par radouane_as Voir le message
    Bonjour,

    je veux passer des données dans une pipe, en fait les donnée sont sous format des structures(struct). est ce qu'il y a une possibilité de convertir un struct en char*.

    merci.
    Si par char *, je essaie de dire "chaine de caractères", il te suffit d'écrire la représentation sous forme de chaine de chaque chaque champ de ta structure dans un tampon:

    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
    #include <stdio.h>
    #include <string.h>
     
    #define BUFFER_SIZE 128
     
    struct MaStruct
    {
        int a;
        double b;
        char s[32];
    };
     
    int main(void)
    {
        char buffer[BUFFER_SIZE] = "";
        struct MaStruct s1 = {10, 3.1415, "Dvp.com"};
     
        /* -tc- Cette fonction est C99. Pour du C90 strict, utiliser sprintf() */
        snprintf(buffer, sizeof buffer, "%d,%f,%s", s1.a, s1.b, s1.s);
     
        puts(buffer);
     
        return 0;
    }
    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

Discussions similaires

  1. Conversion int en char *
    Par Trunks dans le forum C
    Réponses: 6
    Dernier message: 18/03/2006, 16h44
  2. conversion d'une char* en int
    Par damien99 dans le forum MFC
    Réponses: 25
    Dernier message: 06/03/2006, 12h27
  3. [MFC] Problème de conversion CString vers Char *
    Par Darkenshin dans le forum MFC
    Réponses: 10
    Dernier message: 02/12/2005, 14h42
  4. [Conversion]Convertir un char[] en int
    Par ThanosT dans le forum Général Java
    Réponses: 10
    Dernier message: 11/11/2005, 12h23
  5. "Conversion" d'un char en int ou longueur
    Par Michaël dans le forum C
    Réponses: 6
    Dernier message: 15/08/2003, 11h40

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