LANGAGE C : comment copier coller un fichier?

Smash34 Messages postés 13 Statut Membre -  
fiddy Messages postés 11653 Statut Contributeur -
bonjour à tous,
Ma question est dans le titre du sujet en fait ^^

je crée un fichier
f1=(FILE *)fopen("essai.txt","w");

et j'aimerai savoir comment faire pour le copier coller, si il y a une fonction spéciale ou si il fo tout lire pour tout recopier dans un nouveau fichier..
merci à tous pour votre aide !
A voir également:

4 réponses

DestyNov@
 
Salut =)

A moins de trouver une bibliothèque qui gère ça, tu es obligé de lire tout le fichier avec fread et de le réécrire dans un nouveau. il n'y a pas de fonction dans la librairie standard qui permet de faire ça.

++
0
Genroa
 
Sous Windows il existe une fonction (API?) :

BOOL CopyFile( LPCTSTR lpExistingFileName, /* Nom du fichier source */
LPCTSTR lpNewFileName, /* Nom du fichier destination */
BOOL bFailIfExists /* Si != 0, la copie sera annulée si le fichier existe déjà */
);
0
Smash34 Messages postés 13 Statut Membre
 
ok merci, mais comment je peux m'en servir du fread ? aparement ya plein d'arguments.. je ne m'y connais pas trop !
j'ai vu sur google : fread(void *buffer; size_t tailleBloc, size_t nombreBlocs, FILE *flot);
... je ne comprend pas ! ^^

mon programme (exercice) :

#include <stdio.h>
main()
{
int i;
int temp;
char chaine[80];

FILE *f1;
f1=(FILE *)fopen("essai.txt","w");
fgets(chaine,80,stdin);
for(i=0;i<5;i++)
{
fputs(chaine,f1);
}

/*C'est là que je voudrai copier coller mon fichier que je viens de créer, dans un autre avec un nouveau nom*/

fclose(f1);
return 0;
}
0
Smash34 Messages postés 13 Statut Membre
 
svp
comment marche le fread ?!
merci à tous.
0
novice
 
fread(adresse de la variable,taille en octet,nombre de bloc,le pointeur sur le fichier)
pareil pour fwrite
ca donne pour copier un fichier d'entier int:

FILE*source;FILE*destination;
int a;

source=fopen("source","r");
destination=fopen("destination","w");
do{
fwrite(&a,sizeof(int),1,destination);
fread(&a,sizeof(int),1,source);
}while(!feof(source)); // tantque le fichier n'est pas arrivé a ca fin
0
MRextra Messages postés 154 Statut Membre 35
 
si tu travail avec la console tu peux utiliser les commande DOS (ou SHELL) ou copier coller la sytaxe est la suivante:
systeme("commande pour copier");
systeme("commande pour coller");
0
Pseudo...
 
system et non systeme...

system("copy source destination");
0
fiddy Messages postés 11653 Statut Contributeur 1 847
 
La fonction system() est à éviter...
Autant se créer la fonction de copie, c'est rapide...
0