Incrémenter un fichier en c
Fermé
manos59
-
6 mars 2010 à 12:08
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 6 mars 2010 à 12:30
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 6 mars 2010 à 12:30
A voir également:
- Incrémenter un fichier en c
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
- Fichier host - Guide
1 réponse
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
6 mars 2010 à 12:30
6 mars 2010 à 12:30
Salut,
Pour créer un fichier, il suffit de mettre : fopen(chemin,"w") et on le ferme avec la fonction fclose().
Donc à la place de : fprintf(fichier,"# iteration n°%d \n",compteur); tu vas plutôt ouvrir ton fichier avec fopen en mode écriture.
Ensuite, ce qui peut poser problème c'est de trouver comment incrémenter le chemin. Eh bien, tu peux utiliser la fonction sprintf (ou mieux snprintf en C99). Par exemple :
De plus, n'oublie pas de vérifier la bonne ouverture du fichier avec fopen en testant la valeur de retour.
N'oublie pas que le prototype de main() sans argument est : int main(void) et que la fonction renvoie 0 quand tout a bien fonctionné (return 0; en fin de main()).
Et pour finir, pour afficher un double, ce n'est pas %lf mais %f qu'il faut mettre :
double temps;
printf("%f",temps);
Cdlt,
Pour créer un fichier, il suffit de mettre : fopen(chemin,"w") et on le ferme avec la fonction fclose().
Donc à la place de : fprintf(fichier,"# iteration n°%d \n",compteur); tu vas plutôt ouvrir ton fichier avec fopen en mode écriture.
Ensuite, ce qui peut poser problème c'est de trouver comment incrémenter le chemin. Eh bien, tu peux utiliser la fonction sprintf (ou mieux snprintf en C99). Par exemple :
/*en début de code*/ char chemin[30]; FILE *fp=NULL; /*dans ta boucle*/ if(fp) fclose(fp); /*ne pas oublier de fermer le fichier en cours*/ sprintf(chemin,"fichier%d.dat",compteur); /*on change le nom du chemin pour le futur fichier*/ fp=fopen(chemin,"w"); /*on créé le nouveau fichier*/ /*après la boucle*/ fclose(fp); /*on ferme le dernier fichier*/
De plus, n'oublie pas de vérifier la bonne ouverture du fichier avec fopen en testant la valeur de retour.
N'oublie pas que le prototype de main() sans argument est : int main(void) et que la fonction renvoie 0 quand tout a bien fonctionné (return 0; en fin de main()).
Et pour finir, pour afficher un double, ce n'est pas %lf mais %f qu'il faut mettre :
double temps;
printf("%f",temps);
Cdlt,