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 :

[Structure] Conseils pour l'implementation d'un protocole sur RS232 ?


Sujet :

C++

  1. #21
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 309
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    ne serait-il pas plus sage de définir une "trame" comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    unsigned char length; // la longueur
    unsigned char data[MAX_TRAME]; // le contenu.
    plutôt que de canibaliser un type qui n'est qu'un tableau de caractère dans lequel 0 à un sens assez particulier?
    -W
    Le basic_string<unsigned char> vient avec les methodes substr(), erase(), un iterateur, ... Ces fonctionnalites me sont tres utiles pour construire mes trames.

  2. #22
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    un vector de char ne serait il pas plus adapté??
    Le problème de string est que c'est une string.... donc 0 représente la fin d'une chaine

  3. #23
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 715
    Par défaut
    Citation Envoyé par Tymk Voir le message
    Le basic_string<unsigned char> vient avec les methodes substr(), erase(), un iterateur, ... Ces fonctionnalites me sont tres utiles pour construire mes trames.
    Certes, mais il va bien falloir que tu les spécialises... Du point de vue du "client" - l'entité qui va crée et utiliser une trame -, ces primitives devront être encapsulées.
    Mais c'est toi qui fait alors c'est toi qui décide ;-)
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #24
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 309
    Par défaut
    Pour le moment ca fonctionne donc je conserve le basic_string<unsigned char>. En cas de probleme avec le caractere de fin de chaine, je passerai vers un vector<unsigned char>.

    Par contre, je ne fais pas le lien entre l'encapsulation des primitves de string et l'utilisation d'un tableau d'unsigned char.

  5. #25
    Membre émérite
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Par défaut
    un vector de char ne serait il pas plus adapté??
    Le problème de string est que c'est une string.... donc 0 représente la fin d'une chaine
    +1 .
    La seule grosse différence (en dehors des considérations de mémoire) entre un tableau de char et un string est la notion de texte, qui va avec l'ambiguité du 0.
    Pour un stockage de données qui ne seront jamais utilisées comme du texte mais qui se trouve être des char, je te conseille, comme l'a dit Mongaulois, un vector<unsigned char>.
    C'est ce que j'utilise, notamment pour des liaisons séries. Tu auras alors des méthodes associées au container qui te faciliteront la manipulation, qui sera donc moins laborieuse qu'un tableau de char de taille finie qui plus est.

Discussions similaires

  1. structure conseillée pour un site ?
    Par jarailet dans le forum Débuter
    Réponses: 1
    Dernier message: 15/07/2009, 15h23
  2. [Conception] Besoin d'un conseil pour structurer ma base
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 15/01/2008, 14h02
  3. Conseil pour implementation d'un graphe
    Par lusiole dans le forum C
    Réponses: 6
    Dernier message: 08/08/2007, 19h35
  4. [Forum] Conseil pour trouver un forum java à mettre sur un portail
    Par tinico dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 02/05/2007, 10h59
  5. conseil pour structurer un xml
    Par jbat dans le forum Delphi
    Réponses: 2
    Dernier message: 14/07/2006, 07h49

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