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 :

Equivalent de memcpy en C++ standard


Sujet :

C++

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 577
    Par défaut Equivalent de memcpy en C++ standard
    Bonjour,

    y a-t-il un équivalent des fonctoins memcpy, memset ... en C++ standard (sans faire apel à des biblio en plus) ?

    Merci par avance,
    @+

  2. #2
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 868
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 868
    Par défaut
    Salut,

    Ce sont des fonctions "standard" dans la mesure qu'elles appartiennent à la librairie standard de C++.

    L'équivalent serait de les coder à la main.. mais ça ne servirait à rien, ça serait de la recopie inutile.

    A+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 577
    Par défaut
    OK ben c'est nikel
    je les utilise alors

  4. #4
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    std::copy est vraissemblablement plus adapte que memcpy dans pas mal de contextes; mais pas dans tous.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 577
    Par défaut
    là ça serait pour initialiser (memset) ou pour recopier (memcpy) une structure de type W32_FIND_DATA

    merci

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 258
    Par défaut
    Tant que ce que tu copies est un POD (grosso modo une structure sans fonction virtuelle et sans constructeur défini par l'utilisateur), memset fera ce que tu veux. Le reste du temps, mieux vaut utiliser copy, à moins d'être absolument sur et certain de ce que tu es en train de faire.

  7. #7
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 525
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 525
    Par défaut
    Citation Envoyé par olive_le_malin
    là ça serait pour initialiser (memset) ou pour recopier (memcpy) une structure de type W32_FIND_DATA
    merci
    W32_FIND_DATA n'est pas standard.
    C'est du développement Windows et non standard ; tu peux prendre CopyMemory et initialiser avec ZeroMemory voir MSDN

    CopyMemory

    The CopyMemory function copies a block of memory from one location to another.


    void CopyMemory(
    PVOID Destination,
    const VOID* Source,
    SIZE_T Length
    );
    //....
    void MyCopyMemory(char *pbData, unsigned int cbData)
    {
    char buf[BUFFER_SIZE];
    CopyMemory(buf, pbData, min(cbData,BUFFER_SIZE));
    }
    Mais memcpy suffit amplement pourvu que l'on passe les bons paramêtres avec la bonne taille de structure

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 577
    Par défaut
    OK
    merci à vous

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

Discussions similaires

  1. [CSS 2] Equivalent "standard" de -moz-image-region
    Par Christophe Charron dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 15/09/2012, 16h51
  2. Equivalent memcpy C++ ?
    Par Cian dans le forum Langage
    Réponses: 3
    Dernier message: 15/09/2008, 12h17
  3. Réponses: 1
    Dernier message: 12/09/2007, 10h20
  4. Equivalent à TCppWebBrowser pour BCB5 Standard
    Par bartfr dans le forum C++Builder
    Réponses: 4
    Dernier message: 08/03/2004, 16h11
  5. [Kylix] Equivalent ShellExec en CLX
    Par Anonymous dans le forum EDI
    Réponses: 7
    Dernier message: 14/08/2002, 11h55

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