[C] lire dans un fichier texte
Résolu
Fabien
-
mype Messages postés 2435 Date d'inscription Statut Membre Dernière intervention -
mype Messages postés 2435 Date d'inscription Statut Membre Dernière intervention -
Bonjour a tous!
J'ai cree un programme qui collecte des tonnes de donnees d'une experience de physique et qui les ecrit dans des fichiers sous forme de colonnes separees par des "tab", par exemple:
...
0.534(tab)0.5468(tab)...
0.248(tab)0.4687(tab)...
...
Comment faire pour acceder a la "case" correspondant a la x-ieme ligne et a la y-ieme colonne pour y extraire la string s'y trouvant? J'aimerais bouger le curseur de x fois "return" et de y fois "tab", y lire les 6 caracteres puis les mettre dans une "string".
Je suppose qu'il faut faire un file=fopen(filename,"r");
mais apres je ne sais plus quoi faire... fseek, fscanf, fread?
Merci de votre aide,
Fabien
J'ai cree un programme qui collecte des tonnes de donnees d'une experience de physique et qui les ecrit dans des fichiers sous forme de colonnes separees par des "tab", par exemple:
...
0.534(tab)0.5468(tab)...
0.248(tab)0.4687(tab)...
...
Comment faire pour acceder a la "case" correspondant a la x-ieme ligne et a la y-ieme colonne pour y extraire la string s'y trouvant? J'aimerais bouger le curseur de x fois "return" et de y fois "tab", y lire les 6 caracteres puis les mettre dans une "string".
Je suppose qu'il faut faire un file=fopen(filename,"r");
mais apres je ne sais plus quoi faire... fseek, fscanf, fread?
Merci de votre aide,
Fabien
A voir également:
- [C] lire dans un fichier texte
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire un fichier epub - Guide
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
3 réponses
Salut Fabien!
Pour faire cela je te conseille d'utiliser fgets, cette fonction lit une ligne complète
tu devras donc faire un truc du style :
char result[LINE_SIZE];
int i;
FILE* file =NULL;
file=fopen(filename,"r");
for (i=0; i<=NbLine; i++ ) {
fgets(result,LINE_SIZE, file);
}
Après ca tu devrais avoir ta NbLine ième ligne dans ton buffer!!
Pour faire cela je te conseille d'utiliser fgets, cette fonction lit une ligne complète
tu devras donc faire un truc du style :
char result[LINE_SIZE];
int i;
FILE* file =NULL;
file=fopen(filename,"r");
for (i=0; i<=NbLine; i++ ) {
fgets(result,LINE_SIZE, file);
}
Après ca tu devrais avoir ta NbLine ième ligne dans ton buffer!!
Merci beaucoup pour ta réponse rapide hier! J'ai utilisé fgets comme tu me l'as conseillé et avec beaucoup de patience et un sscanf j'ai finalement réussi à extraire les valeurs que je veux de la base de donnée.
Tout de bon,
Fabien