lamoueste
Messages postés76Date d'inscriptionlundi 5 septembre 2005StatutMembreDernière intervention 3 juillet 2007
-
2 nov. 2005 à 11:41
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
2 nov. 2005 à 16:38
bjr a tous alors simplement j'aurai aime savoir comment copier des fichiers en C++ pour le moment j'utilise la fonction copyfile() mais cela ne marche qu'avec les fichier txt apres il me genere une unhandled exception => j'aurai voulu savoir comment soit gerer cette exception ( avec un petit exemeple si possible ) soit savoir s'il existe une autre fonction qui marche avec toute les extension de fichiers existantes :)
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 2 nov. 2005 à 12:21
CopyFile() de API Win ???
Si oui, elle copie absolument tous les fichiers et comme quasi toute API ne génère jamais d'erreur mais retourne seulement un statut d'erreur BOOL.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 2 nov. 2005 à 12:59
Avec copyfile, le problème ne vient sans doute pas de l'extension mais du contenu du fichier...
Si tu veux faire du portable, ce n'est pas bien compliqué d'écrire ta propre routine de copie de fichier
lamoueste
Messages postés76Date d'inscriptionlundi 5 septembre 2005StatutMembreDernière intervention 3 juillet 2007 2 nov. 2005 à 15:44
j'avoue que je comprend pas trop ce qu'il se passe tant qu'il n'y a que des fichiers txt tout se passe bien mais dés que l'extension est differente ca plante... je vous met mon petit bout de code dites moi ce que vs en pensez :
void MyCopyDirectoryRec(CString rep)
{
char NewFileName[]={"c:\\Zipper_Vtfw32\"};
WIN32_FIND_DATA FindFileData;
char path[MAX_PATH];
strcpy(path,rep);
strcat(path,"\\*.*");
HANDLE hFind = FindFirstFile(path, &FindFileData);
if (hFind==INVALID_HANDLE_VALUE)
return;
if (strcmp(FindFileData.cFileName,".")!=0 && strcmp(FindFileData.cFileName,"..")!=0)
{
strcpy(path,rep);
strcat(path,"\");
strcat(path,FindFileData.cFileName);
MyCopyDirectoryRec(path);
}
DWORD a = 0;
while (a != ERROR_NO_MORE_FILES)
{
if (!FindNextFile(hFind, &FindFileData))
a = GetLastError();
else
{
if (strcmp(FindFileData.cFileName,".")!=0 && strcmp(FindFileData.cFileName,"..")!=0)
{
/*strcpy(path,rep);
strcat(path,"\");
strcat(path,FindFileData.cFileName);
char NewFileName[]={"c:\\Zipper_Vtfw32\"};
strcat(NewFileName,FindFileData.cFileName);
if(!CopyFile(path,NewFileName,0))
bErr = GetLastError();*/
strcpy(FileNameDebug,rep);
strcat(FileNameDebug,"\");
strcat(FileNameDebug,FindFileData.cFileName);
char NewFileNameDebug[] ={"c:\\Zipper_Vtfw32\"};
strcat(NewFileNameDebug,FindFileData.cFileName);
CopyFile(FileNameDebug,NewFileNameDebug,0);
//if(!CopyFile(FileNameDebug,NewFileNameDebug,0))
// bErr = GetLastError();
}
}
}
FindClose(hFind);
}
lamoueste
Messages postés76Date d'inscriptionlundi 5 septembre 2005StatutMembreDernière intervention 3 juillet 2007 2 nov. 2005 à 16:27
Merci j'ai corrige mais j'ai tjrs mon exception :'( le sort s'acharne mais je vaincrai !!! enfin j'espere mais si quelqu'un a une idee ca m'aiderai bien qd mm :)