Chaine==>entier en C
didy_gwatinik
Messages postés
352
Date d'inscription
Statut
Membre
Dernière intervention
-
Mahmah Messages postés 496 Date d'inscription Statut Membre Dernière intervention -
Mahmah Messages postés 496 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un souci, je suis sur un programme qui travaille avec les fichiers. J'ai par exemple le nombre 5 dans le fichier, je le récupère à l'aide de la fonction fgets puis je veux le placer dans une variable. Comment faire pour convertir la chaine que je récupère dans le fichier pour mettre le contenu dans une variable de type int.Je ne sais pas si je suis assez claire. J'ai vu qu'on pouvait utiliser uen fonction atoi() mais je n'y comprends rien et je ne sais pas si elle est approprié. Si quelqu'un pouvait m'aider ca serait sympa.
J'ai un souci, je suis sur un programme qui travaille avec les fichiers. J'ai par exemple le nombre 5 dans le fichier, je le récupère à l'aide de la fonction fgets puis je veux le placer dans une variable. Comment faire pour convertir la chaine que je récupère dans le fichier pour mettre le contenu dans une variable de type int.Je ne sais pas si je suis assez claire. J'ai vu qu'on pouvait utiliser uen fonction atoi() mais je n'y comprends rien et je ne sais pas si elle est approprié. Si quelqu'un pouvait m'aider ca serait sympa.
A voir également:
- Chaine==>entier en C
- Chaine tnt gratuite sur mobile - Guide
- Chaine radio - Télécharger - Médias et Actualité
- Plus de chaine tv - Guide
- Chaine musique bouygues - Accueil - Guide TV et vidéo
- L'équipe live foot chaine - Accueil - TV & Vidéo
1 réponse
Bonjour,
atoi est appropriée, son nom est l'abrégé de alpha to integer.
Dans le cas d'un fichier répondant à un format connu, par exemple sur chaque ligne, 2 nombres séparés par un point virgule puis un égal et une chaîne, on utilisera plutôt fscan.
M.
atoi est appropriée, son nom est l'abrégé de alpha to integer.
Dans le cas d'un fichier répondant à un format connu, par exemple sur chaque ligne, 2 nombres séparés par un point virgule puis un égal et une chaîne, on utilisera plutôt fscan.
unsigned int nbLectureReussies; // Récupération du nombre de variables correctement remplies. nbLectureReussies = fscanf( "%d ; %d = %s", &nbr1, &nbr2, str );
M.
moi je recupere une chaine que j'ai appelé chaine , je veux placer son contenu dans la variable nbContact. Tu peux me mettre un exemple avec le nom de mes variables s'il te plait?
par exemple pour:
scanf renverra pour les données suivantes:
1)
27 ; 33 = bonjour
-> 3, ce qui signifie que toutes les variables on reçu une valeur.
2)
-2;+98 = pouet
-> 3 aussi, scanf ne prends pas en compte le nombre d'espaces.
3)
27 ; 33 = bonjour tout le monde
-> 3 mais str ne prendra que "bonjour"
4)
27
-> 1. nb2 et str ne sont pas modifiés.
5)
27 33 = bonjour
-> 1, impossible de trouver le ';' demandé.
Il existe la fonction fscanf pour les fichiers.
Si le fichier lu n'a pas de format spécifique, le atoi convient tout aussi bien. (Vu le nom de tes variables j'ai autre chose à vendre pour après ^^)
Ce code devrait être le bon. Je propose un truc plus...
Je suppose qu'il existe quelque part dans ton code un Contact
Dans ce cas je ferais un fichier binaire et non plus texte.
Cela fera donc un fichier qui contient le nombre de contact, puis les structures Contact.
Enfin, je dis ça au cas où ça peut servir...
M.