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 :

Question fonction memcpy


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de gaetan13
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 90
    Par défaut Question fonction memcpy
    Bonjour,
    J'ai une petite question technique concernant cette fonction. J'utilise le C sur un microcontrôleur pour un projet, je me sert de cette fonction pour convertir un float en tableau de bytes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      unsigned char buf[sizeof(float)];
      memcpy(buf,&x,sizeof(float));
    Je me suis renseigné sur memcpy mais je n'ai trouvé que des informations sur la copie de tableaux. Que ce soit un float, un integer ou quoi, la fonction fonctionne toujours.

    Ma question est la suivante : que fait exactement memcpy ?

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 485
    Par défaut
    Bonjour,

    memcpy signifie « Memory Copy » et se contente donc de copier un bloc de mémoire de n octets d'une adresse source vers une adresse de destination.

    Maintenant, ta variable de type float, comme tout autre objet dans ton programme, a une existence en mémoire. Les octets qui la constituent sont consécutifs en mémoire et l'opérateur « & » te donne l'adresse où elle se trouve.

    Passer cette adresse, d'une part, et celle de ton tableau, d'autre part, permet donc de copier le contenu de l'une dans l'autre.

  3. #3
    Membre confirmé Avatar de gaetan13
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 90
    Par défaut
    J'ai tout compris, merci beaucoup !

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

Discussions similaires

  1. Questions fonction free()
    Par Yann39 dans le forum Bibliothèque standard
    Réponses: 5
    Dernier message: 19/12/2007, 13h27
  2. question fonction en C
    Par space_56 dans le forum Débuter
    Réponses: 4
    Dernier message: 29/08/2007, 01h38
  3. question fonction split
    Par fessebleu dans le forum Langage
    Réponses: 2
    Dernier message: 28/05/2006, 02h33
  4. [MFC] Probleme avec la fonction memcpy
    Par ksoft dans le forum MFC
    Réponses: 10
    Dernier message: 22/05/2006, 14h49
  5. [Excel] question fonction !!!
    Par Fealendril dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 25/01/2006, 19h21

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