begin process at 2012 02 12 13:32:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

traiter une trame


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

traiter une trame

dimanche 14 mars 2004 à 16:49:41 | traiter une trame

ronandmcdonald

Je voudrais savoir comment faire pour traiter une trame :
Nottemment comment séparer les informations de cette dernière.
Je pensse utiliser les vecteurs mais j'avoue que je nage un peu...
Si qlq pouvait m'aider siou plait.

Et le programmeur créa...
Amen...
dimanche 14 mars 2004 à 18:33:33 | Re : traiter une trame

ymca2003

qu'entend tu par trame ?, si c'est une chaîne de caractères, utilise un pointeur pour parcourir la chaîne et repérer les séparateurs pour extraire des champs.

met un exemple de trame et de résultat escompté , ce sera plus facile de t'aider.
mercredi 17 mars 2004 à 08:29:49 | Re : traiter une trame

ronandmcdonald

En fait je dois traiter une trame APRS.
Exemple de trame :
!4112.28N/08403.57W-Test 001234 qui veut dire : Station en temps réel positionnée 41°12".28 Nord 84°03".57 Ouest avec un commentaire "Test 001234".
Merci de m'aider!

Et le programmeur créa...
Amen...
mercredi 17 mars 2004 à 13:18:10 | Re : traiter une trame

ymca2003

dans ce cas il te faut 3 pointeurs sur ta chaîne (ou une copie car elle va être modifiée)

char szTrame[64] : ta trame

char* szLat;
char* szLon;
char* szComment;

szLat = strchr(szTrame, '!'); *szLat++='\0';
szLon = strchr(szLat, '/'); *szLon++='\0';
szComment = strche(szLon, '-'); *szComment++='\0';

après cela, tu aura :
szLat = "4112.28N";
szLon = "08403.57W";
szComment = "Test 001234";

ensuite, il te suffit de faire la conversion chaîne->coordonnée.
(si tu veux plus d'aide sur ce point demande-le)
mercredi 17 mars 2004 à 16:46:54 | Re : traiter une trame

ronandmcdonald

Ah ben ouais si tu peux m'aider un peu plus je reffuse pas

En tout k merci!!

Et le programmeur créa...
Amen...
jeudi 18 mars 2004 à 12:59:05 | Re : traiter une trame

ymca2003


Et voila :


#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <memory.h>
#include <string.h>

struct TData
{
int latDeg;
float latMin;
char latSens;
float lat;
int lonDeg;
float lonMin;
char lonSens;
float lon;
char szComment[64];
};

int main(int argc, char* argv[])
{
// trame initiale
const char szTrame[] = "!4112.28N/08403.57W-Test 001234";

// recopie
char szCopy[64];
strcpy(szCopy, szTrame);

// extraction des champs
char *szLat, *szLon, *szComment;
szLat = strchr(szCopy, '!'); *szLat++ = '\0';
szLon = strchr(szLat, '/'); *szLon++ = '\0';
szComment = strchr(szLon, '-'); *szComment++ = '\0';

TData data;

// latitude
data.latDeg = (szLat[0]-'0')*10+(szLat[1]-'0');
data.latMin = (szLat[2]-'0')*10+(szLat[3]-'0')+(szLat[5]-'0')*0.1f+(szLat[6]-'0')*0.01f;
data.latSens = szLat[7];
data.lat = data.latDeg+data.latMin/60;
if(data.latSens == 'S') data.lat = -data.lat;

// longitude
data.lonDeg = (szLon[0]-'0')*100+(szLon[1]-'0')*10+(szLon[2]-'0');
data.lonMin = (szLon[3]-'0')*10+(szLon[4]-'0')+(szLon[6]-'0')*0.1f+(szLon[7]-'0')*0.01f;
data.lonSens = szLon[8];
data.lon = data.lonDeg+data.lonMin/60;
if(data.lonSens == 'W') data.lon = -data.lon;


// commentaire
strcpy(data.szComment, szComment);

return 0;
}

jeudi 18 mars 2004 à 17:20:28 | Re : traiter une trame

ronandmcdonald

Franchement c sympa de ta part!!
Je te remercie bien!
@+


Et le programmeur créa...
Amen...


Cette discussion est classée dans : traiter, trame


Répondre à ce message

Sujets en rapport avec ce message

Traiter Trame météo URGENT !!!!! [ par Ruben_Manu ] Bonjour à tout le monde !Je suis sur un projet informatique sur une station météo WMR928. Mon but est de traiter chaque trames envoyer par cette stati Ethereal - décripter une trame [ par bad10 ] Salut, tout d'abord, pour mon 1er message ici, je voudrais remercier un peu toute cette communauté qui m'a bien aidé à travers ce site ;) voila mon Traiter une chaine en c++ [ par drnicholas001 ] Salut, je veux me faire un petit programme qui fonctionne en ligne de commande, donc lutilisateur écrit en mode console : solve(x-2=0, x) et le progra Pb avec PurgeComm sru port serie RS232 [ par jujunio ] Bonjour à tous, Je travaille sur un projet qui communique avec un port COM. j'arrive très bien à établir la connexion et à lire les trames qui arrive Est-ce que qqn a travaillé avec Progonline? [ par goretex ] Voilà, la question est dans le titre. J'ai un truc à sous-traiter, et je me demande si je pourrais le faire faire par un développeur freelance, moi je traiter caractère par caractère [ par moumouteb ] Bonjour,Voila je voudrais traiter les caractères d'un texte un par un. J'avais pensé à un tableau de caractères mais lors de la saisie le texte est co Lecture de trame RS232 [ par ours_aquatique ] Bonjour,Voila j'ai un petit probleme , je connecte une table a digitaliser (summasketch professionnal de chez summagraphics) a mon petit PC (sous win comment traiter un fichier.txt avec le visual c++ [ par dream1983 ] salut,je demande une application qui fait l'ajout,la suppression,la mise a jour et la consultation d'un fichier avec le c++ analyseur de protocole (capture de trame, sniffer de trame) [ par oukid ] bonjour dans le cadre de mon PEF , je travail sur les analyseurs de protocoles (capture de desencapsulation des trame) et j'aimerais bien avoir de la decodage trame GPS [ par ezekiel_2k3 ] Salut, dans le cadre d'un projet d'etude, je dois décoder une trame GPS à la norme NMEA via port serie (RS232) et l'utiliser (calcul de vitesse, de di


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,279 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales