Non hai afferrato. La system invoca il prompt e gli passa letteralmente: copy b c:\ciao\\ciao.txt.Originariamente inviato da Falcon_God
b esiste, se fai una prova di otuput o segui un debug, vedi che la stringa viene riformattata correttamente e la funzione di ricorsione funziona a dovere...alemeno su questo penso di essere sicuro.
b viene interpretato come nome di file, non come qualcosa che elabori tu.
Tutto giusto, ma tu hai scritto system("copy b c:\\ciao\\ciao.txt"); con l'intenzione di concatenare la stringa b all'interno della system()Non ho capito il fatto della concatenazione, scusa, ma non sono molto ferrato, da quel poco che ho studiato mi sembra che in c++ la concatenazione di stringhe si faccia semplicemente con l'operatore di somma, in quanto è stato fatto un overloading della funzione nella libreria string che ho caricato con l'include. Se ho detto qualche cavolata correggetemi.
Quello che dovevi scrivere era:
codice:string command = string("copy ") + b + string(" c:\\ciao\\ciao.txt"); system(command.c_str());Beh, il nome è auto esplicativo. Comunque quel link dice tutto. In breve: se il file esiste già e il parametro è TRUE la funzione fallisce, se FALSE sovrascrive il file.PS.Qualche info sul quel boleano bFailIfExists??
Sono mele e pere. BOOL è un tipo di dato (in genere un int) usato dalle API Windows come valore boolean. bool è C++.PPS.Perchè hai dichiarato bFailIfExists con BOOL in maiuscolo? Sapevo che i bool si dichiaravano in minuscolo, cambia qualcosa? o e solo formalità?
No, quell'header non serve. Per le API Windows è sufficente windows.h (che già hai incluso).PPPS. Quella funzione che mi hai passato se non sbaglio utilizza le api di windows, vero? Quindi devo aggiungere negli include conio.h, vero?