Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1050 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [langage C] Exercice déplacement et renommer fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[langage C] Exercice déplacement et renommer fichier

n°1659785
yassinou94​9494
Posté le 18-12-2007 à 11:36:15  profilanswer
 

bonjour a tous  :)  
 
alors voila j'ai un petit exercice en C que je dois effectuer mais j'ai beaucoup de mal voici le sujet:
 
Ecrire une commande dont l'executable sera déplacer et qui changera le nom d'un fichier passer en premier argument pour un nom spéifié en seon argument
 
Je pense qu'il faut utiliser lseek (pour le déplacement) et rename (pour le changement du nom de fichier)
 
A l'aide  :cry:


Message édité par yassinou949494 le 18-12-2007 à 11:36:53
mood
Publicité
Posté le 18-12-2007 à 11:36:15  profilanswer
 

n°1659804
Elmoricq
Modérateur
Posté le 18-12-2007 à 11:48:21  profilanswer
 

Pas besoin de lseek(), rename() suffit.

n°1659813
yassinou94​9494
Posté le 18-12-2007 à 11:53:46  profilanswer
 

ha bon?

n°1659840
yassinou94​9494
Posté le 18-12-2007 à 12:17:33  profilanswer
 

je pensai a ca:
      #include <stdlib.h>
      #include <stdio.h>
      #include <string.h>  
       
      int main(int argc, char *argv[])
      {
      char nom[] = {0}, prenom[] = {0}, nomFichier[] = {0};
      FILE *fichier = NULL;    
      fopen("coordonnées.txt", "w" );
      if(fichier != NULL)
      {
      printf("veuillez saisir les renseignements \n\n" );
      printf("NOM : " );
      scanf("%s", nom);
      printf("PRENOM : " );
      scanf("%s", prenom);
   
      //ENREGISTREMENT DES COORDONNEES SAISI.
       
      fprintf(fichier, "NOM : %s\n\n" nom);
      fprintf(fichier, "PRENOM : %s\n\n" prenom);
       
      // saisi du nom du fichier.
       
      printf("VEUILLEZ DONNEZ UN NOM A VOTRE FICHIER\n\n" );
      scanf("%s", nomFichier);
       
      //modification du nom du fichier.
       
      rename("coordonnées.txt", "%s" nomFichier);    
      fclose(fichier);
      }
      return 0;

n°1659890
Elmoricq
Modérateur
Posté le 18-12-2007 à 13:28:41  profilanswer
 

yassinou949494 a écrit :

char nom[] = {0}, prenom[] = {0}, nomFichier[] = {0};


 
Nope, tu définis des chaînes de longueur 0 en faisant ça.
 

yassinou949494 a écrit :

scanf("%s", nom);


scanf() çaÿ le mal lorsqu'on ne sait pas utiliser convenablement les patterns et le code retour, il vaut mieux utiliser fgets() à la place.
 
Et puis je ne vois pas bien ce que viennent faire ces saisies par rapport au sujet que tu évoques dans ton premier post.
 

yassinou949494 a écrit :

     // saisi du nom du fichier.
       
      printf("VEUILLEZ DONNEZ UN NOM A VOTRE FICHIER\n\n" );
      scanf("%s", nomFichier);


 
Nope, la question te demande d'utiliser les arguments passés au programme, en tout cas c'est ce que je comprends.
Il faut que tu utilises les arguments passés à ta fonction main().
       

yassinou949494 a écrit :

rename("coordonnées.txt", "%s" nomFichier);    


 
man rename

n°1660213
Sve@r
Posté le 18-12-2007 à 20:05:58  profilanswer
 

yassinou949494 a écrit :

je pensai a ca:
      #include <stdlib.h>
      #include <stdio.h>
      #include <string.h>  
       
      int main(int argc, char *argv[])
      {
      char nom[] = {0}, prenom[] = {0}, nomFichier[] = {0};
      FILE *fichier = NULL;    
      fopen("coordonnées.txt", "w" );
      if(fichier != NULL)
      {
      printf("veuillez saisir les renseignements \n\n" );
      printf("NOM : " );
      scanf("%s", nom);
      printf("PRENOM : " );
      scanf("%s", prenom);
   
      //ENREGISTREMENT DES COORDONNEES SAISI.
       
      fprintf(fichier, "NOM : %s\n\n" nom);
      fprintf(fichier, "PRENOM : %s\n\n" prenom);
       
      // saisi du nom du fichier.
       
      printf("VEUILLEZ DONNEZ UN NOM A VOTRE FICHIER\n\n" );
      scanf("%s", nomFichier);
       
      //modification du nom du fichier.
       
      rename("coordonnées.txt", "%s" nomFichier);    
      fclose(fichier);
      }
      return 0;


Au-moins il y a des commentaires.
 
En plus des remarques de Elmoricq, revois donc le lien qu'il est nécessaire d'avoir entre "fichier" et "fopen()" et demandes-toi comment "fichier" peut être différent de "NULL" en ligne 10 alors que tu l'initialises à "NULL" en ligne 8...


Message édité par Sve@r le 18-12-2007 à 20:07:06

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1660215
Elmoricq
Modérateur
Posté le 18-12-2007 à 20:11:39  profilanswer
 

Je ne l'avais même pas vu celui-ci, y en avait trop. [:ddr555]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [langage C] Exercice déplacement et renommer fichier

 

Sujets relatifs
[Resolu] [Problème] [Perl,Tableaux] lire un fichier texteLangage de programmation
Langage Panoramicfichier batch
Langage PostScript_Operande interditEnregistrer les paramètres d'un fichier de configuration
faire lire un fichier audio grace à l'assembleur pb de programmationRemplacement chaine de caractères dans fichier
script pour renommer un fichier 
Plus de sujets relatifs à : [langage C] Exercice déplacement et renommer fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR