Originariamente inviato da MItaly
Il comando copy supporta una sintassi speciale per unire più file, sintassi che appunto impiega il +; per questo motivo, se copi file che hanno un + nel nome in quella maniera si "confonde". Come soluzione, racchiudi il nome del file da copiare tra virgolette.
Per inciso, per copiare un file sarebbe meglio usare l'apposita API CopyFile oppure scrivere una semplice routine di copia con le normali funzioni di IO del C++.
codice:void copyfile(const char * source, const char * destination) { std::ifstream f1(source, std::fstream::binary); std::ofstream f2(destination, std::fstream::trunc|std::fstream::binary); if(!f1) throw std::runtime_error("Impossibile aprire il file di origine."); if(!f2) throw std::runtime_error("Impossibile aprire il file di destinazione."); f1 << f2.rdbuf(); if(!f1 || !f2) throw std::runtime_error("Errore di copia."); }
Grazie a te ho risolto!!
Alla prossima!