copie de fichier en utilisant open,read,write
Bonjour,
J'essaie de copier un fichier dans un autre.
J'ouvre le fichier ainsi que le fichier de destination par contre la copie ne se fait pas.
J'ai du oublier une étape.
Pouvez vous m'aider voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
int main (int argc,char *argv[])
{
// Vérification des arguments
if (argc != 3)
{
printf("Cette commande nécessite deux arguments") ;
}
// Ouverture du fichier source
int ouvFichier = open ( argv[1],O_RDWR,0666) ;
if (ouvFichier==-1)
{
printf("Erreur dans l'ouverture du fichier \n") ;
exit(0) ;
}
// Ouverture du fichier de destination
int ouvDest = open (argv[2],O_CREAT,0666) ;
if (ouvDest==-1)
{
printf ("Erreur dans l'ouverture du fichier de destination");
exit(1) ;
}
// Création d'un buffer
char buffer[1000] ;
// On utilise read pour envoyer le contenu du fichier1 vers le buffer
int nbEcrit =read (ouvFichier,buffer,sizeof(buffer)) ;
while(nbEcrit !=-1)
{
// Ecriture du buffer vers le fichier de destination
write(ouvDest,buffer,sizeof(buffer)) ;
}
printf ("la copie a du s'effectuer verifier le fichier de destination");
} |
Merci d'avance.
(C'est pour mes révisions )