001
09.12.2003, 21:34 Uhr
Pablo
Supertux (Operator)
|
Lad dir diese Sourcen runter: http://pcpool.mathematik.uni-freiburg.de/~pabloy/fastcp-1.0.1.tar.gz
Die wichtige Funktion, die das macht ist copyfile, das macht Stück für Stück.
C++: |
int copyfile(const char* source, const char* destiny) { FILE* src, *dty; unsigned int read=0; char buffer[MAX_LENGTH]; if((src=fopen(source, "rb")) == NULL) return -1; if((dty=fopen(destiny, "wb")) == NULL) { fclose(src); return -2; }
while( (read = fread(buffer,1,MAX_LENGTH, src)) > 0 ) { if(read != fwrite(buffer, 1, read, dty)) { fclose(dty); fclose(src); error_call("Not all data could be copied into %s. Proc. aborted.", destiny); return -3; } }
fclose(dty); fclose(src); return 0; }
|
Hab schon mehrere Gigabytes damit kopiert (vor allem DIVX-Videos), nie ein Fehler aufgetretten.
PS: Funktionen wie error_call oder Kosntante wie MAX_LENGTH sind in main.c definiert. -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 09.12.2003 um 21:36 Uhr von Pablo Yanez Trujillo editiert. |