Je ne parviens pas à résoudre ce problème, pouvez-vous m'aider ?
J'ai crée un fichier texte avec notpad :
"73.962000 18.550000 DBC1
-114.427000 0.776000 air
-99.163000 5.300000 EDF3
660.831000 59.678000 air
55.173000 15.900000 DBC1
-228.329000 19.769000 air
-44.891000 2.650000 EDF1 "
Je cherche à charger ces valeurs dans des variables
- Code: Tout sélectionner
double rayon[8],epaisseur[8];
int matiere[8];
for (i=0; i<8; i++)
{
rayon[i]=0;
epaisseur[i]=0;
matiere[i]="";
}
monFichier = fopen("systeme.txt", "r");
if(monFichier!=NULL)
{
fscanf(monFichier, "%lf ", &rayon[0]);
fscanf(monFichier, "%lf ", &epaisseur[0]);
fscanf(monFichier, "%s ", &matiere[0]);
printf("... %lf \t %lf \t %s \n",rayon[0],epaisseur[0],matiere[0]);
fclose(monFichier);
}
j'ai alors sur la fenetre "console" l'afffichage de rayon : 73.962000 et epaisseur: 18.550000 mais cela m'ejecte lorsque je veux afficher matiere.
si je remplace printf("... %lf \t %lf \t %s \n",rayon[0],epaisseur[0],matiere[0]); par printf("... %lf \t %lf \t %c \n",rayon[0],epaisseur[0],matiere[0]); cela m'affiche uniquement le premiere lettre D. Cela semble normale. Mais pourquoi cela ne marche pas avec une chaine de caracteres ??
Je ne comprends pas pourquoi ....
Merci