Récupérer des données dans une matrice en C
Résolu
-Bat-
Messages postés
20
Statut
Membre
-
-Bat- Messages postés 20 Statut Membre -
-Bat- Messages postés 20 Statut Membre -
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 !
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 !
Configuration: Linux Firefox 3.0.1
4 réponses
-
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 -
salut.
Ce n'est pas clair sur les différents types utilisés. Met le bout de code qui pose souci. -
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 ?
-