La fonction fscanf ou fgets
Résolu/Fermé
Pierre_Marie
Messages postés
2
Date d'inscription
mardi 31 mai 2016
Statut
Membre
Dernière intervention
31 mai 2016
-
31 mai 2016 à 03:30
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 31 mai 2016 à 21:57
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 31 mai 2016 à 21:57
A voir également:
- Fgets fscanf
- While fscanf ✓ - Forum C
- Popen fgets ✓ - Forum C++
- Fgets \n ✓ - Forum C
- Fgets langage c ✓ - Forum C
- Fgets matlab ✓ - Forum C
1 réponse
paly2
Messages postés
254
Date d'inscription
vendredi 29 août 2014
Statut
Membre
Dernière intervention
15 février 2018
25
Modifié par paly2 le 31/05/2016 à 14:56
Modifié par paly2 le 31/05/2016 à 14:56
Un exemple de code avec fgets:
C'est un code minimal, n'oublie pas de faire des vérifications pour les erreurs (retour de fopen, fgets et strtok notamment).
La curiosité est une excellente qualité !
#include <stdio.h>
#include <string.h> // Ne pas oublier string.h pour strtok !
int main(void) {
FILE* file = fopen("fichier", "r"); // On ouvre le fichier
char ligne[1000] = "";
char* email = NULL;
int i;
fgets(ligne, 1000, file); // On récupère la ligne (ici ça sera la première, vu que c'est la première fois qu'on lit dans le fichier)
strtok(ligne, ":"); // strtok retourne un pointeur sur le premier champ ...
strtok(NULL, ":"); // ... puis sur le deuxième ...
strtok(NULL, ":"); // ... puis sur le troisième ...
email = strtok(NULL, ":"); // ... et enfin sur le quatrième (l'email).
// Note: strtok a modifié la chaîne de caractère ligne. On ne peut plus l'utiliser.
puts(email); // Affichage de l'e-mail
fclose(file); // On ferme le fichier
}
C'est un code minimal, n'oublie pas de faire des vérifications pour les erreurs (retour de fopen, fgets et strtok notamment).
La curiosité est une excellente qualité !
31 mai 2016 à 20:21
31 mai 2016 à 21:57
1ère ligne :
La fonction strtok() scinde une chaîne en une séquence d'éléments lexicaux. Lors du premier appel à strtok(), la chaîne à scinder doit être spécifiée dans str. Dans chaque appel ultérieur fait pour analyser la même chaîne, str doit être NULL.