Retourner une valeur en parcourant une chaîne de caractère

Fermé
emmy_2019 Messages postés 59 Date d'inscription mardi 23 avril 2019 Statut Membre Dernière intervention 16 septembre 2019 - 25 avril 2019 à 10:49
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 26 avril 2019 à 11:42
Bonjour,

J'ai une chaine de caractère comme suit:
  char *str;
str="POST / HTTP/1.0

Host: 192.168.0.95:8080

Date: Thu Jan 1 18:33:05 1970

Content-Type: application/xml

Content-Length: 464

Connection: close



<?xml version="1.0"?>
<PassengerCountingService.GetAllDataResponse><AllData><TimeStamp><Value>1970-01-01T18:33:05</Value></TimeStamp><CountingData><DoorID><Value>1</Value></DoorID>
<Count><ObjectClass>Unidentified</ObjectClass><In><Value>22</Value></In><Out><Value>32</Value></Out><CountQuality>Regular
</CountQuality></Count><State><OpenState><Value>SingleDoorOpen</Value></OpenState></State></CountingData></AllData></PassengerCountingService.GetAllDataResponse>"


Et je veux retourner juste le 1, 22 et 32.

Avez-vous une idée SVP?
Je vous remercie par avance

Configuration: Windows / Chrome 73.0.3683.103
A voir également:

1 réponse

[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 096
26 avril 2019 à 11:42
Salut emmy_2019,

Tu peux utiliser
strstr()
sur la chaîne.

Par exemple, pour rechercher 1 :

- tu cherches "<CountingData><DoorID><Value>"
- tu additionnes au pointeur retourné la longueur de la chaîne "<CountingData><DoorID><Value>"
- tu parcours le contenu en mémoire à partir de cet endroit en stockant chaque caractère dans une variable chaîne, jusqu'à ce que tu tombes sur le caractère
'<'


Dal
1