Tom's Guide > Forum > Programmation > [Résolu][C] Creation fichiers (avec 1 pointeur) HELP

[Résolu][C] Creation fichiers (avec 1 pointeur) HELP

Forum Programmation : [Résolu][C] Creation fichiers (avec 1 pointeur) HELP

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour, a tous j'ai un probleme
Je crée un programme qui doit (normalement) répartir un texte en plusieurs fichier numérotés.
Et je ne comprend pas pourquoi la valeur retourné (sortie) est 0

En gros mon code

Code :
  1. int nombre = 0, nbreFichier = 0, continuer;
  2. char fichier[256] = "C:";
  3. do{
  4. FILE *sortie = NULL;
  5. nbreFichier++; // le numéro du fichier
  6. char localString1[20] = "";
  7. sprintf(localString1, "\\Numero_%d.txt", nbreFichier); // nom du fichier sans chemin
  8. nombre = 0;
  9. continuer = 1;
  10. printf("\n%d\n", nbreFichier);// affiche le numero du fichier
  11. strcat(fichier, localString1); // on cré l'adresse complete du fichier
  12. sortie = fopen(fichier,"w+" ); // on cré le fichier
  13. printf("\n%d\n", sortie); // verife si OK alors la valeur != 0
  14. while(continuer == 1)
  15. {
  16. fprintf( sortie, "%d ", nombre);
  17. nombre++; // bon normalement il y a plein de code mais ça ne sert a rien que je le mette
  18. system("PAUSE" ); // pour qu'on prennent bien le temps de regarder
  19. if(nombre == 3) // j'ai mis 3 pour que ce soit rapide
  20. {
  21. continuer = 0;
  22. }
  23. }
  24. fclose(sortie); // on ferme le fichier
  25. }while( continuer == 0 || continuer == 1); // comme ça on est sur que ça marche longtemps :p



Donc on obtient au début 1 (pour: nbreFichier) et un grand nombre pour "sortie".
Mais si on presse 3 fois une touche on obtient 2 (pour: nbreFichier) et 0 pour "sortie".
=> Donc 1 seul fichier a été crée, pourtant, le fichier est fermé à la fin
Aidez moi SVP
Merci


Message édité par ptitcois le 06-06-2008 à 07:48:16
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Tu ne réinitialises pas la variable "fichier"

bref à ta seconde boucle, le nom de ton fichier devrait être C:\Numero_0.txt\Numero_1.txt
Or, le répertoire Numero_0.txt n'existant pas, le fichier ne peut pas être créé, d'où un pointeur NULL en sortie. Je me trompe ?

PS: pour la réinitialisation, avant le strcat, fait un strcpy(fichier, "C:" )

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

OK, merci, j'avais pas pensée a ça !

Répondre à ptitcois
Tom's Guide > Forum > Programmation > [Résolu][C] Creation fichiers (avec 1 pointeur) HELP
Aller à :

Il y a 708 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens