[C] lire dans un fichier texte
Résolu
Fabien
-
mype Messages postés 2459 Date d'inscription Statut Membre Dernière intervention -
mype Messages postés 2459 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
Configuration: Windows XP Firefox 2.0.0.4
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!! -
Bonjour,
je veux lire un fichier texte ligne par ligne
je veux lire une une ligne compléte et la mettre dans une chaine. les lignes n'ont pas une longueur égale
Merci -
va voir ici