IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Copie de fichier


Sujet :

C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Copie de fichier
    Salut,
    J'aimeris savoir si il y a une commande en C qui permet de copier un fichier d'un dossier quelconque, vers un autre dossier. Sans avoir un faire un appel systeme du genre
    system("copy ...");
    8)
    @+
    KURT

  2. #2
    Nouveau membre du Club
    Inscrit en
    Avril 2002
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 23
    Points : 35
    Points
    35
    Par défaut
    Sous Windows, tu peux essayer la fonction CopyFile:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    BOOL CopyFile(
        LPCTSTR  lpExistingFileName,	// address of name of an existing file 
        LPCTSTR  lpNewFileName,	// address of filename to copy to 
        BOOL  bFailIfExists 	// flag for operation if file exists 
       );

  3. #3
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 67
    Points : 79
    Points
    79
    Par défaut
    tu peut aussi utiliser movefile
    The MoveFile function renames an existing file or a directory (including all its children).

    BOOL MoveFile(

    LPCTSTR lpExistingFileName, // address of name of the existing file
    LPCTSTR lpNewFileName // address of new name for the file
    );


    Parameters

    lpExistingFileName

    Points to a null-terminated string that names an existing file or directory.

    lpNewFileName

    Points to a null-terminated string that specifies the new name of a file or directory. The new name must not already exist. A new file may be on a different file system or drive. A new directory must be on the same drive.



    Return Values

    If the function succeeds, the return value is nonzero.
    If the function fails, the return value is zero. To get extended error information, call GetLastError.
    Pour te perfectionner en C, lire les tutoriels et cours de formation pour apprendre C : http://c.developpez.com/cours/

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Merci pour l'info.
    KURT

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 92
    Points : 84
    Points
    84
    Par défaut
    Voici une fonction toute bête qui le fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    #include <stdio.h> /* perror */
    #include <fcntl.h> /* open */
    #include <string.h> /* strcmp strcpy malloc */
    #include <unistd.h> /* close read write */
     
    int file_copy ( char * source, char * dest)
    {
    	int src,dst,n;
    	char buffer[512];
     
     
    	if ( ( src = open ( source, O_RDONLY) ) == -1 )
    	{
    		perror ( "source");
     
    		return -1;
    	}
     
    	if ( ( dst = open ( dest, O_WRONLY|O_TRUNC|O_CREAT, 0666) ) == -1 )
    	{
    		perror ( "destination");
    		close ( src);
     
    		return -1;
    	}
     
    	while ( ( n = read ( src, buffer, 512) ) > 0 )
    	{
    		if ( n != write ( dst, buffer, n) )
    		{
    			return -1;
    		}
    	}
     
    	if ( n < 0 )
    	{
    		return -1;
    	}
     
    	close ( src);
    	close ( dst);
     
    	return 0;
    }
    Détails dans les cours et tutoriels pour bien apprendre la programmation C : http://c.developpez.com/cours/
    Zero
    My site : http://blog.lecacheur.com
    GWhere project : http://www.gwhere.org
    Debian Addict site : http://www.debianaddict.org

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. copie de fichier
    Par nabil dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 03/08/2005, 11h59
  2. Copie de fichier sur le bureau
    Par LoicH dans le forum C++Builder
    Réponses: 3
    Dernier message: 01/05/2005, 21h57
  3. [C#] Copie de fichier via l'API
    Par slyv dans le forum Windows Forms
    Réponses: 5
    Dernier message: 20/12/2004, 23h39
  4. [C#] Copie de fichier via l'API
    Par slyv dans le forum Windows
    Réponses: 5
    Dernier message: 20/12/2004, 23h35
  5. [Kylix] Copie de fichier...
    Par paty.olivier dans le forum EDI
    Réponses: 1
    Dernier message: 23/06/2004, 13h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo