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 :

Accéder un octet d'une structure


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 30
    Par défaut Accéder un octet d'une structure
    Bonjour,
    Je reçois des données octet par octet et je dois les mettre dans une structure de données.
    Il me semble qu'on pouvait accéder à un octet d'une structure, mais je me souviens plus trop comment.

    Si on convertit une structure en char, est-ce qu'on peut le traiter comme un tableau d'octets?

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    bah une adresse est une adresse.. Tu peux toujours ajouter ce que tu veux (1 en particulier) à une adresse...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 30
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    bah une adresse est une adresse.. Tu peux toujours ajouter ce que tu veux (1 en particulier) à une adresse...
    Mes notions de C sont un peu rouillées. On fait comment pour accéder à une adresse particulière de la structure?

    s[0] ?

    Citation Envoyé par diogene Voir le message
    On peut mettre un tableau dans une structure (si on a besoin d'avoir une structure!)
    On ne peut pas convertir une structure en char ou en tableau de char. Eventuellement passer par une union ?
    Je pense qu'on s'est mal compris. Ma structure comporte des données hétérogènes qui ne font pas nécessairement 1 octet (il y a des double, int, char, etc...)

    J'ai un module de communication qui m'envoie de l'information octet par octet. Je dois donc replacer cette information dans ma structure. Modifier la structure n'est pas une option car ça me demanderait de revoir mon code.

  4. #4
    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
    Citation Envoyé par bigcortex Voir le message
    Je pense qu'on s'est mal compris. Ma structure comporte des données hétérogènes qui ne font pas nécessairement 1 octet (il y a des double, int, char, etc...)

    J'ai un module de communication qui m'envoie de l'information octet par octet. Je dois donc replacer cette information dans ma structure. Modifier la structure n'est pas une option car ça me demanderait de revoir mon code.
    Effectivement, je n'avais rien compris et je n'ai toujours rien compris à ton problème ni pourquoi tu veux alors convertir ta structure en tableau de char

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 30
    Par défaut
    Citation Envoyé par diogene Voir le message
    Effectivement, je n'avais rien compris et je n'ai toujours rien compris à ton problème ni pourquoi tu veux alors convertir ta structure en tableau de char
    Ok, je vais essayer d'exposer le problème de façon plus claire.

    J'ai une structure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    struct S{int var1; double var2; int var3; ... etc.};
    Cette structure doit contenir de l'information provenant d'un port en série. Ce port envoie des données octet par octet.

    Supposons que ma structure fasse 32 octets. J'aurais donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for(i=0;i<32;i++)
    {
          data = lecture_port(); //data = 8 octets
     
         //Ici je dois placer data dans ma structure
    }

  6. #6
    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
    Il faut donc convertir la suite d'octets entrants en la valeur du bon type, int, double,... avant de l'écrire dans le bon champ de la structure

  7. #7
    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
    Citation Envoyé par bigcortex Voir le message
    Bonjour,
    Je reçois des données octet par octet et je dois les mettre dans une structure de données.
    Il me semble qu'on pouvait accéder à un octet d'une structure, mais je me souviens plus trop comment.

    Si on convertit une structure en char, est-ce qu'on peut le traiter comme un tableau d'octets?
    On peut mettre un tableau dans une structure (si on a besoin d'avoir une structure!)
    On ne peut pas convertir une structure en char ou en tableau de char. Eventuellement passer par une union ?

Discussions similaires

  1. Accéder aux octets d'une variable de type Extended
    Par yupyupxav dans le forum Débuter
    Réponses: 5
    Dernier message: 17/12/2014, 10h17
  2. convertir une structure en une suite de doubles octets
    Par dedibox26 dans le forum Débuter
    Réponses: 6
    Dernier message: 29/04/2010, 23h11
  3. Réponses: 4
    Dernier message: 24/12/2009, 10h37
  4. accéder à une variable d'une structure
    Par acacia dans le forum Débuter
    Réponses: 10
    Dernier message: 20/02/2008, 18h14
  5. Réponses: 6
    Dernier message: 16/02/2006, 14h40

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