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 :

memcpy, memmove etc. d'une partie du buffer [Débutant(e)]


Sujet :

C

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 84
    Par défaut memcpy, memmove etc. d'une partie du buffer
    Bonjour.

    Comment faire pour utiliser memcpy (par exemple) pour copier d'un buffer a l'autre une partie des données cad :

    en partant de
    Buffer 1 = 123456789

    on veut remplir buffer 2 comme :
    Buffer 2 = 567

    merci

  2. #2
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 84
    Par défaut oups
    oups, je pense que memset le fait tres bien ....

  3. #3
    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 muquet
    Comment faire pour utiliser memcpy (par exemple) pour copier d'un buffer a l'autre une partie des données cad :

    en partant de
    Buffer 1 = 123456789

    on veut remplir buffer 2 comme :
    Buffer 2 = 567
    Si ce sont des chaines de caractères, strncat(), sinon memcpy().

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 84
    Par défaut mais..
    Merci mais memcpy permet de copier n bytes a partir du début et moi je veux récupérer une partie qui ne commence pas forcement a début (si g bien compris ...)

    Je teste :
    (Les donnes de départ sont dans "buffertab" et je veux remplir "nbcarac" données en commencant a "indicedepart" dans "buffer" )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      char *buffer=0;
      char *buffertab=0;
     
    ...
     
      nbcarac = indicefin- indicedepart;
      buffer =calloc(nbcarac,sizeof(char));
      buffer = memset(buffertab,indicedepart,nbcarac);
    Mais pour l'instant, ca ne marche pas car après "memset" mes 2 buffers sont modifiés ...

    g oublier qqchose ?

    (je n'utilise pas strncat car ce sont des binaires)

  5. #5
    Membre confirmé Avatar de Beldom
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 63
    Par défaut
    Tu joues avec les pointeurs pour memcpy.

    Ca fait longtemps que j'ai pas fait ca, mais si c'est une chaine de caractère, et que tu veux commencer au 4ème caractère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    memcpy(dest, &src[3], 3);
    Mais attention à ne pas se planter dans le nombre Sinon, segfault ^^

  6. #6
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 84
    Par défaut oki
    Merci

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 16/05/2011, 21h56
  2. mettre une partie de buffer à 0
    Par madmax51 dans le forum Débuter
    Réponses: 20
    Dernier message: 04/06/2010, 08h53
  3. [CVS]Gestion de 2 versions avec une partie commune
    Par Gromitou dans le forum EDI et Outils pour Java
    Réponses: 4
    Dernier message: 19/02/2004, 14h32
  4. comment remplacer une partie de texte dans un champs
    Par patlapi dans le forum Paradox
    Réponses: 4
    Dernier message: 20/11/2003, 14h38
  5. selectionner une partie d'un TImage
    Par bidochon dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/02/2003, 19h08

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