begin process at 2012 05 29 17:58:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

pb chaine de caractère


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

pb chaine de caractère

mercredi 23 juillet 2003 à 09:45:28 | pb chaine de caractère

matthius25

Voici mon problème :
je dois faire communiquer une application C++ avec un programme automate PL7. Cette communication se fait par socket.
Du coté automate quand il reçoit un message, ce dernier est du format suivant :
2 caractères pour la longueur + X caractères pour le message.
du coté C++, j'envoie donc le message suivant :
"\x00\x0D""pouetouvastu?".
\x00 fait un caractère
\x0D fait aussi un caractère, c'est la longueur du message pouetouvastu?.
remarque : du coté automate le programme ne comprend pas les caractères il les reçoit en ASCII, c'est pour ça que je passe par la représentation hexadécimale pour qu'il comprenne qu'il doit recevoir 13 caractères.
si je met "13""pouetouvastu?", l'automate attend un message de 4953 caractères et comme j'en envoie que 5 il bloque (attente de la suite du message).

Comment faire pour automatiser l'envoi coté C++ ?
Je sais récupérer la longueur du message, la transformer en hexadécimal mais le problème se situe à l'insertion dans l'entete ("\x00\x"). La concaténation de l'entete avec la valeur convertie en caractère ne fonctionne pas.

merci de votre aide
a+
Matthius
mercredi 23 juillet 2003 à 17:08:27 | Re : pb chaine de caractère

sebseb42

j'ai un truc a te proposer, c'est un peu un vieux truc indien, mais ca fonctionne super bien :)

#define SWAP(a, b) (((a) ^= (b)), ((b) ^= (a)), ((a) ^= (b)))

void write_to_pl7(char *message)
{
short len;
char buff[512];

len = strlen(message);

memcpy(buff, &len, 2);
SWAP(buff[0], buff[1]);
memcpy(buff + 2, message, len);

// send(fd_socket, buff, len + 2);
}


Cette discussion est classée dans : message, caractère, caractères, automate, coté


Répondre à ce message

Sujets en rapport avec ce message

Affichage d'une chaîne de caractères [ par kalf2000 ] bonjour,j'ai un petit souci, je réussit à récupérer à partir d'un fichier texte une chaîne de caractère et à la mettre dans un tableau de caractère (c transformer un caractère en une chaine de caractères [ par zarce ] bonjour j'utilise une fonction qui affiche à l'écran (graphique) des chaines de caractères la syntaxe est du style ...DrawString(posX,posY, chaine de 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 tronquer une chaine de caractère [ par gilleswathelet ] bonjour, je programme un p'tit peu en C et j'aimerais savoir s'il est possible, a partir d'une chaine de caractères pouvant comporter jusqu'à 60 carac Un tableau qui se remplit avec des'\0' entre chaque caractère ? [ par Vinalys21 ] Bonjour à tous,Je suis actuellement entrain de coder un programme en langage C permettant d'intéragir avec un lecteur RFID Skyetek M9. Skyetek fournit suppression caractère [ par fadiam ] bonsoir. une fonction lisant une chaine de caractères n'accepte que les caractères entre '0' et '9' (chiffres) et les ',' '-' '.' et ' '. Si il y a d HELP...chaine de caractères....en C..défi TP [ par SniPi ] Voici un exercice bien sympatique à faire en C.Je vous passerez le corrigé de ce TP mercredi prochain, en attendant j'aimerais voir ce que vous pensez concaténer un caractère a une chaine de caractères [ par deck_bsd ] Bonjour, voila g un petit problem, ds mon programe je converti un int en char, mais apres je veu le concaténer en faisant strcat(chaine_de_caract,car Chaines de caractères [ par Roro8883 ] Salut,je suis complètement perdu et embrouillé dans les chaînes de caractères en C++ !!!!Comment est-ce que je peux faire pour savoir, dans une chaine recherche et remplacement de caractère dans un [ par samy79 ] Voila ce que je cherche à faire :Scanner un fichier txt à le recherche de caractère afin de tous les remplacer:Concrètement je veux remplacer tous les


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 4,415 sec (3)

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