no save
Assistance
Achat
News

Forum | programmation
problème fscanf c++
ptit81, le lun. 23 févr. 2009 à 17:10:25
Bonjour,

Je souhaite lire un fichier texte pour le réécrire différemment dans un autre fichier texte.
Je crée une en-tête manuellement dans le second fichier (celui où je dois écrire)

Je veux donc commencer à écrire dans ce second fichier juste après ce que j'ai déjà écris.
Pour ça, je me place à la fin du fichier de la façon suivante:

while(!feof(f_F1_inp))
{
fscanf(f_F1_inp,"%s");
}

Ensuite, je rempli mon deuxième fichier texte de la façon suivante:

while(!feof(f_F1_txt))
{
fscanf(f_F1_txt,"%s",s_tmp_F1);
fprintf(f_F1_inp,"%s%s"," ",s_tmp_F1);
}

Tout ça marche très bien...
Le problème, c'est que dans le même main(), je voudrais faire la même chose avec deux autres fichiers qui ont exactement les mêmes formes et qui au lieu de s'appeler "F1" s'appellent "E1". Je fais donc un copier coller de mon code et je change F1 en E1 et il arrive toujours à me faire F1 mais pas E1.
J'essaye donc d'inverser les deux parties de codes et cette fois, il arrive à faire E1 et pas F1...

J'ai réussi un peu à isoler le problème et je trouve qu'il est au niveau du fscanf qui ne veux pas se faire une deuxième fois sur un autre fichier!!!!!!!!!!!!!

Est ce que quelqu'un peut m'éclairer là dessus?


Pour info, je vous met le code complet (c'est peut être plus simple après ces applications:

////////////// matrice F1///////////////

// ouverture du fichier à lire
FILE * f_F1_txt;
f_F1_txt=fopen("mat_F1.txt","r");
rewind(f_F1_txt);

//ouverture du fichier .inp
FILE * f_F1_inp;
f_F1_inp=fopen("F1.inp","r+");
rewind(f_F1_inp);

// je place le curseur à la fin du fichier
while(!feof(f_F1_inp))
{
fscanf(f_F1_inp,"%s");
}

//remplissage
char s_tmp_F1[256];
while(!feof(f_F1_txt))
{
fscanf(f_F1_txt,"%s",s_tmp_F1);
fprintf(f_F1_inp,"%s%s"," ",s_tmp_F1);
}

fclose(f_F1_txt);
fclose(f_F1_inp);


////////////// matrice E1///////////////

// ouverture du fichier à lire
FILE * f_E1_txt;
f_E1_txt=fopen("mat_E1.txt","r");
rewind(f_E1_txt);

//ouverture du fichier .inp
FILE *f_E1_inp;
f_E1_inp=fopen("E1.inp","r+");

rewind(f_E1_inp);
// je place le curseur à la fin du fichier
while(!feof(f_E1_inp))
{
fscanf(f_E1_inp,"%s"); //////////////c'est ici que ça ne marche plus....////////////////////
}

//remplissage
char s_tmp_E1[256];
while(!feof(f_E1_txt))
{
fscanf(f_E1_txt,"%s",s_tmp_E1);
fprintf(f_E1_inp,"%s%s"," ",s_tmp_E1);
}

fclose(f_E1_txt);
fclose(f_E1_inp);
Configuration: Windows XP
Safari 525.19


loupius
23 févr.
Suivant
REPONSES
loupius
23 févr.
fiddy
24 févr.
ptit81
24 févr.
fiddy
24 févr.
ptit81
24 févr.
Version Web
Réalisé par RedShift
no save