Copier un fichier.

Résolu
cs_open Messages postés 16 Date d'inscription mercredi 16 juillet 2003 Statut Membre Dernière intervention 29 octobre 2008 - 10 juin 2007 à 19:23
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 - 11 juin 2007 à 01:32
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

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
10 juin 2007 à 19:38
Ceci ne fonctionne pas ?

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

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

return 0;
}

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

C++ (@++)<!--
0
cs_open Messages postés 16 Date d'inscription mercredi 16 juillet 2003 Statut Membre Dernière intervention 29 octobre 2008
10 juin 2007 à 22:17
Merci mec ! :)
0
cs_open Messages postés 16 Date d'inscription mercredi 16 juillet 2003 Statut Membre Dernière intervention 29 octobre 2008
10 juin 2007 à 22:49
Ha oui aussi, heu...
comment l'utiliser le GetModuleFileName , dans le petit code là ?

:)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_open Messages postés 16 Date d'inscription mercredi 16 juillet 2003 Statut Membre Dernière intervention 29 octobre 2008
10 juin 2007 à 22:52
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..
0
cs_open Messages postés 16 Date d'inscription mercredi 16 juillet 2003 Statut Membre Dernière intervention 29 octobre 2008
10 juin 2007 à 23:00
j'ai trouver pour le GetModuleFileName
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
11 juin 2007 à 01:32
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++ (@++)<!--
0