解决方案 »
- 动态列表框(CListBox)超出对话框边界的问题
- hwnd unused CXX0030错误
- 怎样得到一个socket连接到远端的IP和端口
- 求教怎样在ADO中获得日期,计算2者之间的天数!
- 请问怎样在一个类中获取在另外一个类中已经初始化了的指针?
- 控件的大小
- 我的Imail邮件服务老是报“服务器拒接收件这一...Smpt 端口25,SSL否..”(高手救我!版主救我!!)
- WSARecv的使用?
- CChildFrame什么时候才把窗口句柄做好了啊?我要用这个句柄.
- 高难度问题,1200分重赏求解
- VS2008 下使用过GDI+ 的麻烦进来看看
- 手上有一个三维软件的开发项目,请教采用什么开发工具会上手比较快?
CFile f1;
…… while(1)
{
BYTE buffer[1024];
f1.Seek(nPos2, CFile::begin);
UINT N = f1.Read(buffer, 1024);
f1.Seek(nPos1, CFile::begin);
f1.Write(buffer, N);
nPos1 += N; nPos2+=N;
if(N<1024)
break;
}
f1.SetLength(nPos1);
f1.Close();
否则,在固定的内存块内,频繁移动数据,效率是不高的。
当然,你另建一个内存数组 bool deleteline[100000],删除行标记为1,也是可以的。
删除文件行又不想创建临时文件,只能同内存来实现,别无他法
CStdioFile类
具体详见http://blog.csdn.net/jax_lee/article/details/6792722