我打算做一个类似flashget的东西。这样就表示我如何要把从网络上得到的断断续续的数据写入相应的文件。在这里请教大家有没有什么好方法?我知道使用setvbuf可以增加文件的缓冲。但WriteFile只能写入连续的区间,而不能像WSASend那样,同时提交一个列表。所以,我无计可施,请问大家还有什么好的思想吗?关于文件操作优化的思想谢谢
解决方案 »
- 使用CRecordset派生类后Close函数时发生错误,求大神解决
- 联众扑克外挂要多少rmb?
- 如何让停靠隐藏?
- 求助,明天上午还交不上的话,我就挂了。
- 大虾,帮我解决一个问题
- c++请解!
- 如何做好一个DAO开发的程序
- 在C++Builder或Delphi中怎样把一个文件夹中的文件(包含子文件夹)拷贝到另一个文件夹中?
- 我的COM为什么在VB中“ActiveX无法创建对象“。Com可真难学啊。
- 如何改变对话框中的字体
- 我使对话框程序在启动时自动隐藏了(代码见下面),现在要通过一个快捷键让它再显示,应该怎么让它显示?
- 使用VC2005,WTL7.5组合,居然不能插入 Simple ATL Object。天大的怪事,高分求解。
连接服务器,得到长度
立即建立一个文件,下载时以map的形式写到文件上
不过说最皮子容易,实现起来有点难
上次作了一个没做成
问题是这样,我们是分段请求的,也就是说
假设100M文件,分开2个线程。
前一个线程请求0~50M
后一个请求50~100M
(注意这个请求范围就是这样,不要修改这个前提)现在假设缓冲为2M,线程下载速度相等。
那么第一个线程下载到1M的时候(第二个线程也下载到了1M ),这时就需要写入文件。但是你必须要调用两次WriteFile
第一次writefile的内容为0~1M
第二次writefile的内容为50M~51M。似乎还是没有缓解压力。
能一次提交多个内容到磁盘吗?
求解