Récupérer des données dans une matrice en C

Résolu/Fermé
-Bat- Messages postés 18 Date d'inscription mercredi 23 juillet 2008 Statut Membre Dernière intervention 21 avril 2010 - 11 déc. 2008 à 11:07
-Bat- Messages postés 18 Date d'inscription mercredi 23 juillet 2008 Statut Membre Dernière intervention 21 avril 2010 - 14 déc. 2008 à 12:47
Bonjour,

J'ai fait un programme qui permet de copier le contenu d'un fichier texte dans une matrice de type char.
La première ligne de ma matrice contient plusieurs nombres séparé par des espaces.
En fait je souhaiterais récupérer ces nombres dans des entiers.

Plus simplement, comment faire pour récupérer un nombre a 2 chiffres contenus dans "matrice[0][0] et matrice[0][1]" dans un entier ? (utilisation de atoi() , concatenation ...?)

Merci !

4 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 840
11 déc. 2008 à 14:30
Salut,
SI tu sais exactement dans quelles cases de ta matrice sont les chiffres, tu peux t'en sortir avec une simple multiplication ((
matrice[0][0]-'0')*10+matrice[0][1]-'0'

Ou sinon, tu peux traiter la matrice par ligne. Et la parcourir tant que strtol tant que errno vaut EINVAL.
Ou si tu trouves ça un peu compliquer, tu parcours ta matrice par cases tant que l'élément en question n'est pas dans l'interval '0' et '9'. Et tu retournes dans le premier cas.
Si c'est pas clair, je peux te faire un exemple.
Cdlt
1
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
11 déc. 2008 à 12:37
salut.
Ce n'est pas clair sur les différents types utilisés. Met le bout de code qui pose souci.
0
-Bat- Messages postés 18 Date d'inscription mercredi 23 juillet 2008 Statut Membre Dernière intervention 21 avril 2010 1
11 déc. 2008 à 14:20
fichier texte à traiter :
_________________
23 5 5
Nantes Tours 200
Lille Lyon 452
etc...
_________

Je voudrais récupérer les nombres de la première ligne dans 3 variables différentes pour les utiliser par la suite dans mon programme sous forme d'entiers.

Comment procéder ?
0
-Bat- Messages postés 18 Date d'inscription mercredi 23 juillet 2008 Statut Membre Dernière intervention 21 avril 2010 1
14 déc. 2008 à 12:47
Ca marche !

Merci beaucoup
0