Lire un fichier en C mot par mot
Résolu/Fermé
stephanier_29
-
4 nov. 2008 à 14:11
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 - 5 nov. 2008 à 20:00
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 - 5 nov. 2008 à 20:00
A voir également:
- Lire un mot dans un fichier en c
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire un fichier epub - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Lire un fichier .bin - Guide
2 réponses
bizu53
Messages postés
1274
Date d'inscription
samedi 30 août 2008
Statut
Membre
Dernière intervention
21 juin 2015
860
4 nov. 2008 à 19:57
4 nov. 2008 à 19:57
Je te conseille d'utiliser la fonction sscanf(). Elle fonctionne comme scanf() sauf qu'elle prend en entrée une chaîne de caractère en premier paramètre [qui est supplémentaire par rapport à scanf()].
Par exemple ce bout de code :
Affiche :
a : -2.398759
b : 46.723434
(J'ai mis des float dans mon exemple car le format double n'est pas justifié pour des nombres d'une précision si petite)
Remarque : pour le sscanf() tout comme pour le scanf() les espaces sont considérés comme des séparateurs donc leur nombre n'importe pas tant qu'il y en a au moins un.
Par exemple ce bout de code :
#include <stdio.h> int main() { char *str = "-2.398759 46.723434"; float a, b; sscanf(str, "%f%f", &a, &b); printf("a : %f\nb : %f", a, b); }
Affiche :
a : -2.398759
b : 46.723434
(J'ai mis des float dans mon exemple car le format double n'est pas justifié pour des nombres d'une précision si petite)
Remarque : pour le sscanf() tout comme pour le scanf() les espaces sont considérés comme des séparateurs donc leur nombre n'importe pas tant qu'il y en a au moins un.
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
5 nov. 2008 à 10:19
5 nov. 2008 à 10:19
Salut,
j'ai réussi à faire ce que je voulais faire, mais j'avoue que je n'aurais pas pensé à sscanf()
Le sscanf() n'est pas forcement nécessaire.
Il l'a utiliser puisqu'il fait la lecture depuis une variable qu'il a initialisée.
Quand tu lis le fichiers, il suffit d'utiliser la fonction fscanf
j'ai réussi à faire ce que je voulais faire, mais j'avoue que je n'aurais pas pensé à sscanf()
Le sscanf() n'est pas forcement nécessaire.
Il l'a utiliser puisqu'il fait la lecture depuis une variable qu'il a initialisée.
Quand tu lis le fichiers, il suffit d'utiliser la fonction fscanf
int fscanf (FILE *stream, const char *format, ...);Le stream sera le pointeur de type FILE vers ton fichier.
bizu53
Messages postés
1274
Date d'inscription
samedi 30 août 2008
Statut
Membre
Dernière intervention
21 juin 2015
860
5 nov. 2008 à 20:00
5 nov. 2008 à 20:00
C'est vrai que je n'ai pas eu l'idée de traiter dès la lecture. (Je n'ai pas l'habitude de lire un fichier pour une simple lecture de paramètres ^^)
5 nov. 2008 à 10:00
j'ai réussi à faire ce que je voulais faire, mais j'avoue que je n'aurais pas pensé à sscanf()