Question sur fopen

fred100582 Messages postés 37 Date d'inscription mardi 20 avril 2004 Statut Membre Dernière intervention 6 décembre 2005 - 29 juin 2005 à 18:01
fred100582 Messages postés 37 Date d'inscription mardi 20 avril 2004 Statut Membre Dernière intervention 6 décembre 2005 - 30 juin 2005 à 11:36
Salut,

je travaille sur un programme relatif a des simulations et après chaque simulation, je dois renommer le fichier crée à la main car il est sous le forme ESP.xls et je voudrais obtenir ESP_10_20_30.xls avec les valeurs qui changent à chaque simulation.
Comment faire?

Merci.

4 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
29 juin 2005 à 18:35
sprintf puis rename
0
fred100582 Messages postés 37 Date d'inscription mardi 20 avril 2004 Statut Membre Dernière intervention 6 décembre 2005
30 juin 2005 à 09:15
Merci de ta réponse mais peux-tu developper un peu?
Voici le bout de code concerné:

fOut1=fopen("times/ESP.xls","wt" );
fprintf(fOut1, "Determinist Time\tEspions Time\tunUsefull Bounding Volumes\t Nb LMD:\n");
for(i=0;i<cptTimesArray;i++)
fprintf(fOut1,"%f\t%f\t%d\t%d\n",(float)timesArrayDeterminist[i], (float)timesArrayEspions[i], nbNonusefulBoundingVolumesPairsArray[i], nbLMD[i]);
fclose(fOut1);
cptTimesArray = 0;
fOut1=NULL;

Il n'y a pas moyen de faire quelque chose du genre:

fOut1=fopen("times/ESP_%d_%d_%d.xls","wt" );

Mais je ne sais pas comment et ou specifier les arguments.

Merci
0
cs_GoldenEye Messages postés 527 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 6 octobre 2008 4
30 juin 2005 à 11:02
char sFileName[256];
sprintf(sFileName,"times/ESP_%d_%d_%d.xls",arg1,arg2,arg3);
fOut1 = fopen(sFileName,"wt");

Optimiser, c'est bien, déboguer c'est mieux
0
fred100582 Messages postés 37 Date d'inscription mardi 20 avril 2004 Statut Membre Dernière intervention 6 décembre 2005
30 juin 2005 à 11:36
Merci mais on peut aussi faire comme çà:

strcpy(filename,"times/ESP_");
sprintf(buff, "%d",(int)randPercent);
strcat(filename,buff);
strcat(filename,"_");
sprintf(buff, "%d", (int)crossPercent);
strcat(filename,buff);
strcat(filename,"_");
sprintf(buff, "%d", (int)mutPercent);
strcat(filename,buff);
strcat(filename,".xls");
fOut1=fopen(filename,"wt");

Mais j'avoue que c'est un peu barbare donc je vais essayer ta solution.
Merci.
0
Rejoignez-nous