Copier un fichier.

Résolu
Signaler
Messages postés
16
Date d'inscription
mercredi 16 juillet 2003
Statut
Membre
Dernière intervention
29 octobre 2008
-
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
-
Bonjour,

j'ai trouver plein de source sur ce site et aucune ne fonctionne. Je sais pas pourquoi. Je compile avec dev-c++ et toutes les sources me trouve une erreurs.

J'ai pas les liens donc je vous les colles (source de cppfrance.com)  :
---------------------------
char windir[MAX_PATH];
char pathname[256];
GetWindowsDirectory(windir, sizeof(windir));
HMODULE hMe = GetModuleHandle(NULL);
DWORD nRet = GetModuleFileName(hMe, pathname, 256);

strcat(windir, "\\MSN.exe");
CopyFile(pathname,windir,1);
---------------------------
Sur celle du dessus y avait pas les includes ça ma trouver une erreur avec le GetModuleHandle.
Ensuite :
---------------------------
#include <stdio.h>
#include <stdlib.h>


int main()
{
char entree[80],sortie[80]; //variables recueuillant l'adresse des fichiers
int c;
FILE *a_copier, *copie;
entree="c:\\cool.txt";
sortie="c:\\copy.txt";
a_copier = fopen(entree,"r"); //voila c'est ici que ca coince
copie = fopen(sortie,"w"); //entree et sortie étant les variables refusée


do
{
c=fgetc(a_copier);
fputc(c,copie);
}while(c != EOF);
printf("\ncopie terminee");
getch();
return(0);
}
---------------------------
La ça c'est bloquer au niveau du path , ça veut pas de \ entre les "".
Et la petites dernière :
---------------------------
#include <stdio.h>


void main(void)
{
FILE *streamOut;
FILE *streamIn;


streamOut = fopen("c:\Cool.txt", "wt");


streamIn = fopen("c:\Cool2.txt", "rt");


char buffer[1024];
int bytesRead;


do
{
bytesRead = fread(buffer, 1, 1024, streamIn);
fwrite(buffer, 1, bytesRead, streamOut);
}
while(bytesRead==1024);


fclose(streamOut);
fclose(streamIn);
}
---------------------------
Et celle ci aussi plante au niveau du void main(void):

Donc voila si quelqu'un a une source que je peux compile sous dev ça me ferait fort plaisir...

ps: je cherche a autocopier mon executable..

7 réponses

Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
16
Ceci ne fonctionne pas ?

#include <windows.h>
#include <stdlib.h>

int main ()
{
CopyFile("c:\\test1.txt","c:\\test2.txt",1);

return 0;
}

C++ (@++)<!--
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
16
Et pour obtenir le chemin complet de ton programme c'est en effet GetModuleFileName avec 0 comme première paramètre.

C++ (@++)<!--
Messages postés
16
Date d'inscription
mercredi 16 juillet 2003
Statut
Membre
Dernière intervention
29 octobre 2008

Merci mec ! :)
Messages postés
16
Date d'inscription
mercredi 16 juillet 2003
Statut
Membre
Dernière intervention
29 octobre 2008

Ha oui aussi, heu...
comment l'utiliser le GetModuleFileName , dans le petit code là ?

:)
Messages postés
16
Date d'inscription
mercredi 16 juillet 2003
Statut
Membre
Dernière intervention
29 octobre 2008

Et qu'est ce qui différencie C , C++ , Visual C++ et Builder C++ ? C'est des languages de même famille ? Parce que j'ai rechercher la fonction GetModuleFileName et je suis tomber sur le Visual C++ dans la faq de develloppez.com. C'est un peu louche..
Messages postés
16
Date d'inscription
mercredi 16 juillet 2003
Statut
Membre
Dernière intervention
29 octobre 2008

j'ai trouver pour le GetModuleFileName
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
16
Visual C++ et Builder C++ sont des environnement de développement avec leur propre compilateur. GetModuleFileName fait parti de l'API Win32 qui n'a absolument rien à voir avec VC++ ou Builder.

C++ (@++)<!--