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 :

Copie d'un tableau de float/int/bool en un tableau de byte


Sujet :

C++

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut Copie d'un tableau de float/int/bool en un tableau de byte
    Bonjour à tous,

    Voilà j'ai un p'tits soucis de compatibilité de type.
    En fait, j'arrive à un endroits dans le parsing d'un XML, où je peux avoir une tableau de float, de booléen, intéger, etc...
    Le soucis c'est que plutard, j'aurai un traitement commun à ces trois "chemin" et je voulais centraliser ça. Donc en fait j'voulais tout convertir en byte, et tout copier par la suite avec std::copy.

    Est-ce que c'est possible ça?

    Y'a pas autrechose que std::copy (cette méthode réclame des itérateurs, c'est bien pour les vector mais pour les tableaux comment on fait?)

    Ex: Un tableau de 5 float (size = 5 * sizeof(float)). Je fais donc un tableau de byte: byte* byteTab = new byte[5 * sizeof(float)]. Une fois créé, comment je fais pour copier l'un dans l'autre?

    Merci, à bientôt

  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Un pointeur sur un élément d'un tableau est un itéreteur sur cet élément.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    vector<int> v;
    int *t = new int[n];
    v.begin() -> t
    v.end() -> t+n
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  3. #3
    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
    Pour compléter la réponse de Loïc, le code suivant devrait marcher à peu près comme tu veux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    unsigned int const tailleTableau = 42;
    float monTableau[tailleTableau];
    byte* byteTab = new byte[tailleTableau*sizeof(float)];
     
    std::copy(reinterpret_cast<byte*>(monTableau), reinterpret_cast<byte*>(monTableau+tailleTableau), byteTab);

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut
    Ca fonctionne,

    Merci beaucoup

Discussions similaires

  1. Tri d'un tableau de float
    Par Jeane dans le forum C++
    Réponses: 19
    Dernier message: 24/04/2006, 17h27
  2. Conversion d'un tableau de float en double ?
    Par alex6891 dans le forum C++
    Réponses: 5
    Dernier message: 05/01/2006, 06h04
  3. Réponses: 8
    Dernier message: 01/03/2005, 22h41
  4. Tableau de float
    Par El Saigneur dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/02/2005, 11h47
  5. [Débutant][Math] float int arondi bizarre
    Par yolepro dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 27/04/2004, 10h01

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