PDA

View Full Version : [c++] Copiare file


pippo985
30-08-2004, 11:38
Ciao a tutti,

mi servirebbe copiare un file con un programmino scritto in c++ utilizzando le librerie standard.
Ho provato con rdbuf() ma pare che ne copi solo una porzione.
Avete qualche idea? Ho utilizzato la ricerca ma senza risultati.

Ringrazio anticipatamente coloro che mi risponderanno. :)

Ciao.

cionci
30-08-2004, 15:07
Usa la read e la write rispoettivamente su ifstream e su ofstream... Leggi un numero N di byte alla volta...e dopo li scrivi sul secondo file...

NA01
30-08-2004, 15:09
puoi aprire due stream in modalità binary (sempre che ti serva) e leggere da uno e scrivere sull'altro utilizzandoo un buffer di dimensioni a tua scelta.
non so se esistono soluzioni più veloci o corrette, ma io farei così

cia




Ops, anticipato!:sofico: :( :D

PS: perchè non dice più che il messaggio è stato modificato???:eek:

cipi
30-08-2004, 16:05
system("cp a.txt b.txt")

Non è più semplice così?

cionci
30-08-2004, 16:41
Non è portabile ;)

cipi
30-08-2004, 16:50
:(

cionci
30-08-2004, 17:40
Comunque sono poche righe ;)

char buf[4096]
ifstream fin("sorgente\pippo.exe", ios::in | ios::binary);
ofstream fout("destinazione\pippo.exe", ios::out | ios::binary);

while(!fin.eof())
{
fin.read(buf, 4096);
fout.write(buf, fin.gcount());
}