PDA

View Full Version : [C++] Errato utilizzo di shfileoperation o errato utilizzo dell array?!


Sbrocca88
01-12-2010, 09:00
Ciao a tutti.
Questo è un pezzo del mio codice

SHFILEOPSTRUCT FileOp;
FileOp.hwnd = NULL;
FileOp.wFunc = FO_COPY;
FileOp.pFrom = "C:\\cygwin\\home\\miacartella\\voxforge_2\\auto\\scripts";
FileOp.pTo = percorso/*"C:\\cygwin\\home\\Profiles\\prova4"*/;
FileOp.fFlags = FOF_NOCONFIRMATION ;
SHFileOperation(&FileOp);

percorso è un array contenente il path della cartella dove voglio andare a copiare la mia cartella scripts contenuta in auto.
Se al posto di percorso utilizzo il percorso completo tra virgolette, la mia cartella viene copiata correttamente. Se al posto delle virgolette metto semplicemente l'array percorso, non succede niente.
Chi mi può aiutare?!
Forse una errata gestione dell array?!

L'array percorso viene inizializzato in questo modo

GetModuleFileName(NULL,percorso,BUFSIZE);
for (int i=strlen(percorso); i>0; i--)
{
if (percorso[i]!='\')
{
percorso[i]=NULL;
}
else
break;
}
char temporaneo[]="Profiles";
strcat(percorso,temporaneo);
strcat(percorso,"\\");
strcat(percorso,nome);
chdir(percorso);
cout << percorso;

getmodulefilename prende il percorso in cui si trova il mio file eseguibile e lo mette nell array percorso.
Successivamente nel ciclo for non faccio altro che cancellare tutta la parte finale dell array fino al \.
Al passaggio dopo incollo Profiles in fondo al mio array e ancora dopo incollo il nome della mia cartella.
Spero di essermi spiegato.

Un saluto a tutti!!