petit probleme en C... - C++ - Programmation
Marsh Posté le 15-04-2003 à 16:35:03
N'y a-t-il pas un caractère qui traine après le 'A' final ?
Marsh Posté le 15-04-2003 à 16:37:45
non aucun je viens de creer le fichier "seq" en tapant la suite de lettre ATGTGATGA et puis c'est tout. Je n'ai même pas fait de retour à la ligne.
Marsh Posté le 15-04-2003 à 16:40:49
babthefox2002 a écrit : non aucun je viens de creer le fichier "seq" en tapant la suite de lettre ATGTGATGA et puis c'est tout. Je n'ai même pas fait de retour à la ligne. |
je parie pour ton eof
EDIT : tu dois d'abord lire un caractere avant ta boucvle while ou alors tu fais un truc du genre while(fscanf)
Marsh Posté le 15-04-2003 à 16:44:11
babthefox2002 a écrit : Comment faire pour que l'eof marche alors ?? |
fais une recherche, il y a deja eu bcp de debats sur l'utilisatiuon de eof
mais je te conseil
Code :
|
Marsh Posté le 15-04-2003 à 16:47:37
babthefox2002 a écrit : Comment faire pour que l'eof marche alors ?? |
Code :
|
Marsh Posté le 15-04-2003 à 16:48:15
babthefox2002 a écrit : avec while(fscanf) ça ne marche pas... |
normal, pour ca je ne suis pas sur mais va voir , ca a deja ete aborde maintes et maintes fois. Sinon ma solution avec la lecture avant devrait fonctionner non?
Marsh Posté le 15-04-2003 à 16:50:19
ok merci ça marche bien avec ton programme.
Merci beaucoup, mais comment se fait-il qu'avec mon programme ça ne marchait pas ? Tu dis que c'est la fonction "feof" qui est bizarre ?
Marsh Posté le 15-04-2003 à 16:31:48
bonjour a tous,
j'aurais besoin d'un peu d'aide en C, rien de bien mechant a mon avis mais la je ne trouve pas le pourquoi du comment...
Je voudrais savoir pourquoi en faisant quelque chose du genre :
#include<stdio.h>
main () {
FILE *fichier;
char base,nom[5];
puts("nom :" );
scanf("%s",&nom);
fichier=fopen(nom,"r" );
while(!feof(fichier)) {
fscanf(fichier,"%c",&base);
printf("%c\n",base);
}
fclose(fichier);
}
si je lui rentre comme nom de fichier "seq" dans lequel se trouve la sequence suivante : ATGTGATGA
Le programme m'affiche A T G T G A T G A A
Je ne comprend pas pourquoi il passe une fois de plus dans ma boucle "while" car du coup il me compte 2 fois la derniere lettre ...
Je pense que c'est un truc tout bête mais là je ne trouve pas.
Je vous remercie d'avance.
Baba