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

Résolu
-Bat- Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
-Bat- Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Contributeur Dernière intervention   1 846
 
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   Statut Contributeur Dernière intervention   1 299
 
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   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention   1
 
Ca marche !

Merci beaucoup
0