LANGAGE C : comment copier coller un fichier?
Smash34
Messages postés
13
Statut
Membre
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
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 !
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 !
4 réponses
-
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.
++ -
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;
} -
-
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
-
-
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");