PDA

View Full Version : SHFileOperation


TonyManero
27-09-2005, 07:53
Salve a tutti!

Vorrei usare questa apparentemente comodissima funzione per copiare una serie di file da una cartella ad un altra....
Qualcuno l'ha già usata? Ho solo un dubbio riguardo a come inserire l'elenco dei file...

Ho trovato un esempio ma è con un file solo:

#include <windows.h>
#include <shellapi.h>
#include <stdio.h>


int
main()
{
SHFILEOPSTRUCT sfos;
ZeroMemory(&sfos, sizeof(sfos));
sfos.wFunc = FO_COPY;
sfos.pFrom = "c:\\origine\\*.*\0";
sfos.pTo = "d:\\destinazione\0";


int rc = SHFileOperation(&sfos);
if(rc) {
printf("Errore (%d, %d)\n", rc, GetLastError());
} else {
printf("Operazione compiuta\n");
}
if(sfos.fAnyOperationsAborted) {
printf("L'utente ha interrotto l'operazione\n");
}


return 0;



}

Grazie a tutti! :)

TonyManero
27-09-2005, 10:36
Trovato... molto banalmente basta caricare l'elenco dei file con questa funzione:

#include <string>
std::string str;
for (int i=0; i<n; i++) {
str += filename[i];
str += '\0';

}


str += '\0';
// Now use str.c_str() as a char*