Pb avec fscanf
pom
-
pom -
pom -
Bonjour, j'ai un peu honte de ma question.
Voilà, je veux lire la 1e colonne d'un fichier qui contient 3 colonnes par exemple. Voici ce que j'ai fait :
j'ai donc fait la chose suivante :
malheureusement j'ai la 1e ligne d'afficher et non la 1e colonne...
(j'ai un peu honte de ma question). Sauriez-vous où se trouve mon erreur ?
Merci.
Voilà, je veux lire la 1e colonne d'un fichier qui contient 3 colonnes par exemple. Voici ce que j'ai fait :
0 1 2 3 4 5 6 7 8 9 10 11
j'ai donc fait la chose suivante :
int i,d;
FILE * file=fopen("monfichier.dat","r);
for(i=0;i<3;++i)
{
fscanf(file,"%d\n",&d);
printf("d = %d\n",d);
}
fclose(file);
malheureusement j'ai la 1e ligne d'afficher et non la 1e colonne...
(j'ai un peu honte de ma question). Sauriez-vous où se trouve mon erreur ?
Merci.
2 réponses
-
re
alors j'ai fait qq tests...int main() { int i=0 ; int c[10] ; for(;i<10;i++) { char buf[100] ; scanf("%d %[^\n]s\n",&c[i],&buf) ; } for(i=0;i<10;i++) printf("%d\n",c[i]) ; }
ca fonctionne, le probleme est la taille fixe de la chaine buffer. je sais que l'on pourrai l'améliorer, regarde du coté des asprintf ou ascanf qu alloue la taille nécessaire...
Ce code lit un nombre, puis une chaine jusqu'au retour chariot -
tu peux lire les 3 colonnes et ne garder que la premiere
fscanf("%d %d %d\n",...
mais il y a surement une meilleure solution...-
salut, oui effectivement, mais je n'ai donné ici qu'un simple exemple. Dans mon vrai pb, j'ai bcp plus de colonnes et je voudrais optimiser mon temps de calcul.
Merci quand même
Pom- Salut, oui et non.
Mon prgm est en C, il mouline et me renvoie toute un série de résultats. A la fin de mon prgm, j'ai une dernière partie qui est la visualisation des résultats. Je dois convertir une variable en une autre (pour simplifier le pb, je la multiplie par deux par exemple). Ensuite je charge tous ces résultats en Matlab et je trace les courbes qu'il me faut.
Donc je peux aussi faire cette conversion en Matlab certes, mais j'aimerais faire tous les calculs en C et toute la visualisation en Matlab. Il y a aussi le fait que tout est bon pour apprendre le C.
Pom
-