Usa direttamente le API di Windows allora. Più in basso di così non si può andare.
codice://path del file di destinazione string destinationFile="\\\\cartella_di_rete\\file.dati"; //file di destinazione // ofstream outfile(destinationFile, ios::binary | ios::out | ios::trunc); HANDLE hfile = CreateFile( destinationFile.c_str(), (GENERIC_READ | GENERIC_WRITE), (FILE_SHARE_READ | FILE_SHARE_WRITE), nullptr, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr ); if (hfile == INVALID_HANDLE_VALUE) /* Errore */ return; DWORD wbytes = 0; //crea il buffer di lettura mybuffer = new uint8[20480*512]; //cicla per leggere il file diviso in diversi chunk for (int i = 1; i <= chunk; i++) // perché da 1? E' voluto? { //funzione che legge il file originale e lo copia nel buffer(in realtà è molto più complessa, // in quanto si tratta di una funzione di terzi ma non ci interessa in questa sede) bool ckok= ReadFile( mybuffer, i); if (ckok) WriteFile(hfile, mybuffer, bufSize, &wbytes, nullptr); } delete[] mybuffer; CloseHandle(hfile);

Rispondi quotando