Convertir les données d'un tableau

Résolu
baptchr55 Messages postés 34 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 6 avril 2011 - 1 févr. 2011 à 17:12
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.

3 réponses

pop70 Messages postés 181 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 7 janvier 2012 10
11 févr. 2011 à 23:01
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
3
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
2 févr. 2011 à 10:38
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
0
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
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...
0
Rejoignez-nous