Lecture de fichier en C
Laura
-
josch83 -
josch83 -
Bonjpour à tous, j'ai un petit probleme qui m'embete depuis quelque temps.....alors je veux lire dans un fichier ATP6.AA,
Mais cette partie du programme ne marche pas ...pouvez vous m'aider svp !!!.je deviens folle !!!.
File *fichier;
fichier=fopen("ATP6.AA","r");
char topology[50];
for (i=0;i<50;i++){ fscanf(fichier,"%c",topology[i]);
printf("%c\n",topology[i]);
}
Mais cette partie du programme ne marche pas ...pouvez vous m'aider svp !!!.je deviens folle !!!.
File *fichier;
fichier=fopen("ATP6.AA","r");
char topology[50];
for (i=0;i<50;i++){ fscanf(fichier,"%c",topology[i]);
printf("%c\n",topology[i]);
}
5 réponses
-
bon ca fait longtemps que j'ai pas fait ca... mais je vcis essayre de te repondre...
Déjà il faudrait que tu commence par declarer tes variables ensuite tu effectue les operations...
File *fichier;
char topology[50];
int i;
Ensuite tu dois tester l'ouverture du fichierif ((fichier=fopen("ATP6.AA","r") != NULL)
{
// ouverture reussie
}
else
{
// erreur a l'ouverture
}
Ensuite tu peut lire tes caractéres:
if ((fichier=fopen("ATP6.AA","r") != NULL)
{
// ouverture reussie
for(i=0; i<50; i++)
{
fscanf(fichier,"%c",&topology[i]); //le & je ne suis pas sur mai il me semble qu'il doit y etre...
printf("%c\n", topology[i]);
}
}
else
{
// erreur a l'ouverture
}
Je tiens a dire que cette methode est relativement barbare... (pas de teste de fin de fichier...)
Cherche du coté de fgets ca marche bien...
++
Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi ! -
Salut!
il faut en effet se pencher sur la déclaration car on declare tout avant d'utiliser une fonction, sinon c'est caca et ca marche pas. Alors mets d'abord les declarations puis le developpement de ton prog.
A +.
Fat_Cartman,
Parce que je le vaux bien... -
Je pense que tu devais te plaindre de ne pas obtenir le fichier et c'est normal :
fscanf(fichier,"%c",topology[i]);
Ne mettra rien pour topology[i], et pour cause : tu passes une valeur et non une adresse. fscanf tout comme scanf
attend une adresse.
=> remplacer par :fscanf(fichier,"%c",&topology[i]);
Ca devrait changer des choses déjà ;p
@++
Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ? :-D -
bonjour
fait attention lors de la declaration ce n'est pas File mais FILE*
voila tout
bon courage -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -