Convertir les données d'un tableau [Résolu]

Messages postés
34
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
6 avril 2011
- - Dernière réponse : baptchr55
Messages postés
34
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
6 avril 2011
- 15 févr. 2011 à 13:08
Bonjour à tous...
Je suis actuellement en travail sur une réception de caractères par le biais d'un Socket (ce qui fonctionne).
Je souhaiterais convertir les messages suivants en Int, je ne sais pas comment faire (vu qu'ils sont séparés) :

Message recu : -1 0 0 0
Message recu : 1 0 0 0
Message recu : 0 -1 0 0
Message recu : 0 1 0 0

Ces valeurs sont stockées dans un buffer.

Merci par avance,
Cordialement.
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
181
Date d'inscription
mardi 6 avril 2010
Statut
Membre
Dernière intervention
7 janvier 2012
4
3
Merci
La fonction atoi() peut-être utile, elle convertit une chaîne en un nombre

int main()
{

int i;
i = atoi("-1"); // A remplacer par ce qui se trouve dans le fichier
std::cout << i;

    return 0;
}


Pour la lecture du fichier,

Boucle1 : (Lecture ligne par ligne)

Boucle2 : (Caractère par caractère)
À chaque ligne on analyse à partir du 16ème caractère (après "Message recu : ").

Si le caractère est '-', on en prend 2 qu'on met dans une chaine, et on fait i atoi(chaine); s'il est différent de '-', la chaine ne contient que ce caractère (qui représente alors un nombre positif) et on fait i atoi(chaine).

On saute d'un caractère (l'espace) et on passe au suivant.

si on en a fait 4 on arrête la Boucle2 (on a fini la ligne)

et quand on a fini les lignes on arrête la Boucle1


Voila, j'espère t'avoir aidé.


C++dialement,
Pop70

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 137 internautes nous ont dit merci ce mois-ci

Commenter la réponse de pop70
Messages postés
14592
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
17 septembre 2019
89
0
Merci
Hello,
Essaies sscanf()

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Rejoignez mon réseau professionnel sur Viadeo
Commenter la réponse de BunoCS
Messages postés
34
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
6 avril 2011
0
Merci
Merci Bcp pour cette réponse. Un petit Algo là dessus et on va tenter de traiter celà en Cpp. seul point qui me parait incohérent (je n'ai pas mis que de bons exemples c'est de ma faute), il se peut que mes valeurs soient composées de nombres comme de chiffres (au maximum "255")...

Encore Merci...
Commenter la réponse de baptchr55