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...
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
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
mais il y a surement une meilleure solution...
fscanf("%d %d %d\n",...
mais il y a surement une meilleure solution...
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
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
Pom