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
A voir également:
- Récupérer des données dans une matrice en C
- Trier des données excel - Guide
- Comment récupérer des messages supprimés sur whatsapp - Guide
- Logiciel de récupération de données - Guide
- Récupérer données clé usb non reconnue - Guide
- Récupérer compte yahoo sans numéro de téléphone - Guide
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 ((
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
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