Je me demandais s'il était possible de récupérer deux double dans une chaîne de caractère ?
En gros, on a un fichier contenant des informations sous cette forme :
Nom et prénom; adresse complète;(x=Nb1, y=Nb2); {Une caracteristique};
J'ai réussi à récupérer indépendamment chaque champ dans une structure, mais je me retrouve avec coordonnees=(x=Nb1, y=Nb2). Ma structure est la suivante :
Y aurait-il un moyen de récupérer Nb1 et Nb2 pour les stocker dans une autre variable ?
Je débute en C, j'ai déjà essayer avec un sscanf et avec strtok, mais avec rien de bien concluant.... Je ne peux pas non plus changer la syntaxe vu que c'est un exercice, je doute que le prof apprécie que je me simplifie la tâche ^^"
J'ai essayé mais ça ne marche pas.... Je pense que cela vient du fichier texte : il y a parfois un espace devant (x=%d, y=%d) et parfois pas. Je vais néanmoins essayer en modifiant pour qu'il n'y est pas d'espace, pour voir. Merci de ta réponse en tout cas !
Pour prendre en compte la présence d'espaces possibles, il suffit d'en ajouter dans le format (ça correspond à espace possible et c'est implicite avant un %d ou %f.) On peut lire des flottants si c'est le point au lieu de la virgule dans le texte. Ça donne :
sscanf( restau.position_restaurant , " ( x =%f , y =%f )" , &nb1 , &nb2 );
Et avec la chaine de format %lf (puisqu'à priori tu veux des doubles)?
- Edité par zoup 27 octobre 2019 à 20:31:43
Récupéré 2 nombres dans une chaîne de caractères
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
En recherche d'emploi.
En recherche d'emploi.