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 :

Recopie d'un extrait de string dans une autre


Sujet :

C

  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    384
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 384
    Par défaut Recopie d'un extrait de string dans une autre
    Bonjour,

    Je dispose d'un premier tableau de caractères (buffer) de longueur 50.

    je voudrai recopier dans un autre tableau (destination) , seulement les bytes 9 à 18 du tableau buffer.


    J'ai écris ceci, mais ça ne fonctionne pas, j'obtiens cette erreur :
    Warning [2054] suspicious pointer conversion

    Pourriez vous m'aider svp ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    unsigned char buffer[50];
    unsigned char destination[];
     
    		int i;
     
    		for (i=9;i<18;i++)
    		strcpy(destination[i-9],buffer[i]);
    		destination[10]='\0';

  2. #2
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Avec ta boucle for, tu devrais plutôt mettre simplement destination[i-9] = buffer[i] au lieu de strcpy parce que tu fais une copie caractère par caratère, tout come le fait strcpy en interne. Ici, tu aurais aussi pu utiliser simplement strncpy.

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    384
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 384
    Par défaut
    strncpy permet de copier les x premiers caracteres d'une chaine n'est ce pas ?

    Dans mon case je voudrai copier les caractères 9 à 18 , est ce malgré tout possible avec strncpy ?

    Si oui, pouvez vous me montrer comment ?
    Merci à vous,

  4. #4
    Membre Expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    Soit en ayant ta propre boucle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for (i=9;i<18;i++) {
      destination[i-9] = buffer[i];
    }
    ou avec strncpy, qui ne nécessite pas d'utiliser la boucle for
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    strncpy(destination,buffer[9],9);

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    384
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 384
    Par défaut
    Merci beaucoup, ça fonctionne à présent

  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
    @jabbounet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strncpy(destination,buffer+9,9);

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

Discussions similaires

  1. Recopier la couleur d'un cellule dans une autre
    Par zakuli dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/10/2009, 17h24
  2. Position d'une String dans une autre String
    Par avogadro dans le forum Windows Forms
    Réponses: 6
    Dernier message: 10/09/2007, 00h19
  3. Integer ou string dans une DBGRID
    Par Yepazix dans le forum Bases de données
    Réponses: 4
    Dernier message: 02/08/2004, 13h42
  4. [String]Recherche d'une chaine de caractères dans une autre
    Par Crazyblinkgirl dans le forum Langage
    Réponses: 3
    Dernier message: 29/07/2004, 11h51
  5. Réponses: 6
    Dernier message: 24/07/2003, 12h39

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