[LCP] interro 2 Météo

Voir le sujet précédent Voir le sujet suivant Aller en bas

[LCP] interro 2 Météo

Message  maxime159753 le Jeu 05 Jan 2012, 11:15

Bonjour,
J'ai un soucis pour parcourir la zone mémoire renvoyé par la fonction getStatsManquantes. Quelqu'un peut-il m'aider ?

Voila une partie de mon code (mais je n'arrive qu'a récupérer 2 nombres de cette zone "10/24") :



Code:
  void * ptrZone;
    ptrZone = getStatsManquantes();
    char * ptrChar = (char *) ptrZone;
    cout << ptrChar <<endl; //affiche 10/24


maxime159753

Nombre de messages : 29
Prénom : Maxime
Date d'inscription : 22/09/2010

Revenir en haut Aller en bas

Re: [LCP] interro 2 Météo

Message  smb le Jeu 05 Jan 2012, 11:45

maxime159753 a écrit:Bonjour,
J'ai un soucis pour parcourir la zone mémoire renvoyé par la fonction getStatsManquantes. Quelqu'un peut-il m'aider ?

Voila une partie de mon code (mais je n'arrive qu'a récupérer 2 nombres de cette zone "10/24") :



Code:
  void * ptrZone;
    ptrZone = getStatsManquantes();
    char * ptrChar = (char *) ptrZone;
    cout << ptrChar <<endl; //affiche 10/24


Logique ! La zone contient en son début une chaîne (C-like, donc terminée par '\0').
Ton cout affiche donc bien cette chaîne, puisque tu lui fournis un char *
Souhaiterais-tu par hasard qu'avec ce seul cout tout le contenu de la zone soit affiché ? La magie a des limites !

Relis l'énoncé pour savoir par quoi cette chaîne est suivie ...

smb

Nombre de messages : 1035
Age : 64
Prénom : Stéphan
Statut : Don de sang, don de vie!
Localisation : Spy
Date d'inscription : 23/01/2007

Revenir en haut Aller en bas

Re: [LCP] interro 2 Météo

Message  maxime159753 le Jeu 05 Jan 2012, 14:21

Merci je pense avoir compris. Cette zone contient donc plusieurs chaines et donc il y a autant de chaînes qu'il y a de caractère '\0'. Donc si je veux récupérer un caractère je ferai comme ceci:

Code:
void * ptrZone;
ptrZone = getStatsManquantes();
char * ptrChar = (char *) ptrZone;
int i = 0;

//permet de récupérer un caractère
while (*(ptrChar+i) != '\0') {
       cout << *(ptrChar+i)<<endl;
       i++;
}

//permet de récupérer le caractère suivant
i++;
while (*(ptrChar+i) != '\0') {
       cout << *(ptrChar+i)<<endl;
       i++;
}

//et ainsi de suit

maxime159753

Nombre de messages : 29
Prénom : Maxime
Date d'inscription : 22/09/2010

Revenir en haut Aller en bas

Re: [LCP] interro 2 Météo

Message  smb le Jeu 05 Jan 2012, 15:13

maxime159753 a écrit:Merci je pense avoir compris. Cette zone contient donc plusieurs chaines et donc il y a autant de chaînes qu'il y a de caractère '\0'. Donc si je veux récupérer un caractère je ferai comme ceci:

Code:
void * ptrZone;
ptrZone = getStatsManquantes();
char * ptrChar = (char *) ptrZone;
int i = 0;

//permet de récupérer un caractère
while (*(ptrChar+i) != '\0') {
       cout << *(ptrChar+i)<<endl;
       i++;
}

//permet de récupérer le caractère suivant
i++;
while (*(ptrChar+i) != '\0') {
       cout << *(ptrChar+i)<<endl;
       i++;
}

//et ainsi de suit

Absolument pas ! Tu n'as pas compris. Evil or Very Mad

Comment se configure la zone dont l'adresse est retournée par getStatsManquantes ?
Retourne voir le header meteo.h et l'explication qui précède le prototype de getStatsManquantes.

smb

Nombre de messages : 1035
Age : 64
Prénom : Stéphan
Statut : Don de sang, don de vie!
Localisation : Spy
Date d'inscription : 23/01/2007

Revenir en haut Aller en bas

Re: [LCP] interro 2 Météo

Message  maxime159753 le Ven 06 Jan 2012, 08:51

Merci. En fait je n'avais pas lu "meteo.h". Je comprend mieux à présent Smile

maxime159753

Nombre de messages : 29
Prénom : Maxime
Date d'inscription : 22/09/2010

Revenir en haut Aller en bas

Re: [LCP] interro 2 Météo

Message  Contenu sponsorisé Aujourd'hui à 08:39


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum