Importer des nombres depuis un fichier en C
Résolu
ebom
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
ebom Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
ebom Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je souhaite extraire des nombres d'un fichier.
Ce fichier contient un nombre par ligne.
Je propose donc ce code:
FILE *pFic;
pFic=fopen("Fichier","r"); //j'ouvre le fichier en lecture
int Nb1,Nb2;
Nb1=getc(pFic); //j'importe les 2 premiers chiffres
Nb2=getc(pFic);
printf("Nb1: %d , Nb2: %d",Nb1,Nb2); //j'affiche ces deux nombres
Mais cela renvoie : Nb1:51 , Nb2: 10
Alors que les deux premiers nombres du fichier sont 3 et 2
Quelqu'un peut-il m'aider?
Merci
Je souhaite extraire des nombres d'un fichier.
Ce fichier contient un nombre par ligne.
Je propose donc ce code:
FILE *pFic;
pFic=fopen("Fichier","r"); //j'ouvre le fichier en lecture
int Nb1,Nb2;
Nb1=getc(pFic); //j'importe les 2 premiers chiffres
Nb2=getc(pFic);
printf("Nb1: %d , Nb2: %d",Nb1,Nb2); //j'affiche ces deux nombres
Mais cela renvoie : Nb1:51 , Nb2: 10
Alors que les deux premiers nombres du fichier sont 3 et 2
Quelqu'un peut-il m'aider?
Merci
A voir également:
- Importer des nombres depuis un fichier en C
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
2 réponses
Salut,
Tu lis les caractères un par un, mais tu as oublié le saute de ligne qui est aussi un caractère.
51 c'est le code ASCII pour le caractère '3'
10 c'est le code ASCII pour le saute de ligne (LF - line feed)
Tu peux utiliser aussi fscanf par exemple
Tu lis les caractères un par un, mais tu as oublié le saute de ligne qui est aussi un caractère.
51 c'est le code ASCII pour le caractère '3'
10 c'est le code ASCII pour le saute de ligne (LF - line feed)
#include<stdio.h> int main() { FILE *pFic; pFic=fopen("Fichier","r"); //j'ouvre le fichier en lecture int Nb1,Nb2; Nb1=getc(pFic); //j'importe les 2 premiers chiffres getc(pFic); Nb2=getc(pFic); printf("Nb1: %c , Nb2: %c",Nb1,Nb2); //j'affiche ces deux nombres return 0; }
Tu peux utiliser aussi fscanf par exemple
#include<stdio.h> int main() { FILE *pFic; pFic=fopen("Fichier","r"); //j'ouvre le fichier en lecture int Nb1,Nb2; fscanf(pFic,"%d%d",&Nb1,&Nb2); //j'importe les 2 premiers chiffres printf("Nb1: %d , Nb2: %d\n",Nb1,Nb2); //j'affiche ces deux nombres return 0; }