Tom's Guide > Forum > Programmation > [Résolu] [C]Recuperer données dans un string

Lire la meilleure réponse, apportée par mcpherson.

Mot :    Pseudo :           
 

Bonjour, voila je suis débutant en c et je voudrais savoir comment faire ceci :
J'ai un fichier qui sera toujours de cette forme :
P6 245 265 245
je voudrais lire ce fichier et récupérer toutes ses données dans leur format approprié( je veux que les 3 nombres soient stocké dans des int pour pouvoir les reutiliser )
merci

salut camarade, tu dois utiliser la fonction fscanf.
#include <stdio.h>
FILE* fichier;
fichier=fopen("tonfichier","r" );
si ton fichier n'a qu'une seule ligne
char chaine[2];
int nb1, nb2, nb3;
fscanf(fichier, "%s %d %d", &chaine, &nb1, &nb2, &nb3);
et dans tes int il y a les nombres du fichier et dans la chaine il y a les 2 premiers caractres.
si tu as plusieurs lignes dans le fichier faut juste passer par une boucle while(!feof(fichier))
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.
Meilleure réponse

salut camarade, tu dois utiliser la fonction fscanf.
#include <stdio.h>
FILE* fichier;
fichier=fopen("tonfichier","r" );
si ton fichier n'a qu'une seule ligne
char chaine[2];
int nb1, nb2, nb3;
fscanf(fichier, "%s %d %d", &chaine, &nb1, &nb2, &nb3);
et dans tes int il y a les nombres du fichier et dans la chaine il y a les 2 premiers caractres.
si tu as plusieurs lignes dans le fichier faut juste passer par une boucle while(!feof(fichier))

Répondre à mcpherson

je te remercie de ton aide juste peut tu m'expliquer qu'est ce que c'est? ->(!feof(fichier))
merci

Répondre à gosedan

while(!feof(file)) c'est pour faire une boucle tant que le fichier n'est pas terminé.
eof=end of file
le ! c'est le non logique
donc en traduction : tant qu'on n'est PAS à la fin du fichier

Répondre à mcpherson
Tom's Guide > Forum > Programmation > [Résolu] [C]Recuperer données dans un string
Aller à :

Il y a 326 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens