gestion des fichiers

gestion des fichiers - C - Programmation

Marsh Posté le 04-05-2011 à 23:12:54    

Bonjour,
 
Voila le code :
 
 
 
 
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. FILE *file_1;
  5. FILE *file_2;
  6. char N_1[10];
  7. char N_2[10];
  8. main()
  9. {
  10. printf("INSERER LE NOM DU 1er FICHIER :\n" );
  11. scanf("%s",N_1);
  12. printf("INSERER LE NOM DU 2eme FICHIER :\n" );
  13. scanf("%s",N_2);
  14. /*creation du 1er fichier*/
  15. file_1 = fopen(N_1,"w" );
  16. fprintf(file_1, "C1" );
  17. fclose(file_1);
  18. /*creation du 2eme fichier*/
  19. file_2 = fopen(N_2,"w" );
  20. fprintf(file_2, "C2" );
  21. fclose(file_2);
  22. }


 
 
il permet de creer de fichier, par exemple F1 et F2
on veut mettre le fichier F1 dans un répertoire nommé par exemple "R1" et F2 dans "R2"
comment est ce que on peut procéder svp ?
 
merci


Message édité par gilou le 05-05-2011 à 11:13:34
Reply

Marsh Posté le 04-05-2011 à 23:12:54   

Reply

Marsh Posté le 05-05-2011 à 11:16:51    

:hello:

Citation :

FILE *file_1;
FILE *file_2;
char N_1[10];
char N_2[10];


Il n'y a aucune raison que ce soit en dehors du main.
 

Citation :

main()

Ca marchait peut être en C de la période jurassique, mais de nos jours, c'est int main()
Et ça attend un return qque chose à la fin.
 
Tes répertoires R1 et R2 ils sont situés ou par rapport au répertoire d'ou tu as lancé le programme? Et est tu sur qu'ils existent ou faut il les créer?
A+,


Message édité par gilou le 05-05-2011 à 11:22:22

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 05-05-2011 à 14:56:35    

Hi,
 
Merci pour tes remarques...
oui les répertoires existe deja
le répertoire du lancement : /esi qui contient "tp" et "setup"
 
donc moi je veux mettre "F1" dans /esi/tp
et "F2" dans /esi/setup
 
je travaille sous environnement Lynx OS
 
Merci
 
@+

Reply

Marsh Posté le 05-05-2011 à 15:35:04    

Methode 1: Passer a fopen le path relatif du fichier, qu'on construit au préalable, et non pas juste le nom

Code :
  1. char buffer[10];
  2. char N_1[15];
  3. strcpy(N_1, "tp/" );
  4. printf("INSERER LE NOM DU 1er FICHIER :\n" );
  5. scanf("%s",buffer);
  6. strcat(N_1, buffer);
  7. file_1 = fopen(N_1,"w" );


Methode 2: Changer de répertoire avant l'appel a fopen

Code :
  1. chdir("tp" );
  2. file_1 = fopen(N_1,"w" );
  3. chdir(".." );


 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 05-05-2011 à 23:49:42    

Salut
merci gilou, ça marche..
Voici le code en entier pour ceux qui le veulent :
 
 
#include <ctype.h>
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
 {
FILE  *file_1;
char N_1[15];
char buffer_1[10];
FILE  *file_2;
char N_2[15];
char buffer_2[10];
 
 strcpy(N_1,"t1/" );
 printf("INSERER LE NOM DU 1er FICHIER :\n" );
 scanf("%s",buffer_1);
 strcat(N_1,buffer_1);
           /*creation du 1er fichier*/
  file_1 = fopen(N_1,"w" );
  fprintf(file_1, "C1" );
  fclose(file_1);
   
 strcpy(N_2,"t2/" );
 printf("INSERER LE NOM DU 1er FICHIER :\n" );
 scanf("%s",buffer_2);
 strcat(N_2,buffer_2);
           /*creation du 2eme fichier*/
  file_2 = fopen(N_2,"w" );
  fprintf(file_2, "C2" );
  fclose(file_2);
return(0);
  }
 
Merci

Reply

Marsh Posté le 06-05-2011 à 11:36:40    

Tu n'as pas besoin de deux buffers, tu peux utiliser buffer_1 partout.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed