我想使用curl從多個部分同時使用多線程下載數據從互聯網。但是,當下載完成時,我遇到了問題,我必須將所有部分合並在一起,這會浪費內存並耗費很長時間。如何分配磁盤中的文件來寫入數據C++
我看到Torrent和Flashget使用這種技術,我的名字我不知道。在下載之前,Torrent獲取文件的內容長度並自動在磁盤中分配一個空文件。之後,如果下載恢復,則下載的數據將填充此分配的文件。 Torrent或Flashget會檢查這個分配的文件以獲取它已經下載的字節,然後他們恢復下載。
任何人都可以用這種技術來幫助我,或者給我一些關於這個文件的鏈接?如果你可以用c#或C++建議我的例子,那將會很棒。寫作
1.打開文件:感謝您的幫助
那麼你可以[SetFilePointer](https://msdn.microsoft.com/en-us/library/windows/desktop/aa365541(v = vs.85).aspx)任意長度,然後[SetEndOfFile ](https://msdn.microsoft.com/en-us/library/windows/desktop/aa365531(v = vs.85).aspx)來擴展它,但我不確定這將有助於_「Torrent或Flash獲取將檢查此分配文件以獲取字節已下載並恢復下載「_」。你需要跟蹤下載的內容。 _ [這可能也有用](http:// stackoverflow。com/questions/12434306/in-general-how-do-resuming-a-download-work)_ – MickyD
你是指稀疏文件嗎? https://msdn.microsoft.com/en-us/library/windows/desktop/aa365564%28v=vs.85%29.aspx –