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 :

quel est le decoupage de chaine le + rapide


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Ingénieur
    Inscrit en
    Juillet 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Juillet 2006
    Messages : 61
    Par défaut quel est le decoupage de chaine le + rapide
    connaissez vous plusieurs moyen pour decouper les chaine de caractere?
    si oui quel sont-ils et quel est le plus rapide?


    pour info: je travaille sur une commande d'un robot par le network, et pour cela je met les coordonnées des capteur a la suite dans une chaine de caractere que j envoie enssuite avec un socket.
    j essaye de reduire au maximun les temps de decalage

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    'découper' ?

  3. #3
    Membre confirmé Avatar de harsh
    Inscrit en
    Février 2005
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 229
    Par défaut
    Si tu connais à l'avance la séquence des données (et donc leur taille, quitte à laisser vide certains champs), il te suffit juste de copier le nombre d'octet voulus de ta chaîne avec un petit strcat (char *src, char *dst, size_t size);

    Sinon il te faut rechercher les balises séparant tes données.

    Dans tous les cas, tu ne dépasseras jamais une passe de lecture, c'est insignifiant.

  4. #4
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    il te suffit juste de copier le nombre d'octet voulus de ta chaîne avec un petit strcat (char *src, char *dst, size_t size);
    Tu veux dire avec std::string::substr

  5. #5
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    On peut aussi faire avec une expression rationnelle.

  6. #6
    Membre confirmé
    Profil pro
    Ingénieur
    Inscrit en
    Juillet 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Juillet 2006
    Messages : 61
    Par défaut
    j'ai fait comme ca mais il y a surement mieux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    int j=0;
    int ii=1;
    int k=0;
    if (buffer[0]==':'){
    	while(buffer[ii] != ';'){
    		if(buffer[ii]==','){j++;ii++;k=0;}
    		posit[j][k] = buffer[ii];
    		ii++;k++;
    	}
    }

  7. #7
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    Citation Envoyé par seriousme
    On peut aussi faire avec une expression rationnelle.
    les expressions rationnelles sont lentes.
    Pourrais tu nous donner un exemple de la chaîne à découper ?

Discussions similaires

  1. [Firebird] Quel est le code le plus rapide ?
    Par ILP dans le forum Bases de données
    Réponses: 8
    Dernier message: 26/10/2009, 13h01
  2. Réponses: 2
    Dernier message: 27/01/2009, 19h01
  3. Array vs Object : Quel est le plus rapide ?
    Par Are-no dans le forum Langage
    Réponses: 2
    Dernier message: 25/09/2008, 09h00
  4. Réponses: 2
    Dernier message: 02/11/2006, 20h21
  5. Réponses: 9
    Dernier message: 19/06/2006, 15h29

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