小于64K的可以用CString解决,但是大于64K的话虽然可以用CFile::ReadHuge读出来却没有好办法进行处理。CFile也没有ReadLine之类的函数可以逐行读取,强行限定Read长度的话又怕将要替换的字符串切开了。
有什么好一点方便一点的办法?
有什么好一点方便一点的办法?
解决方案 »
- std::string 与 using namespace std;性能问题
- OpenGL vbo 坐标系问题
- 有没有办法运行时获得每个CLASS成员的大小(解决后还能送分)
- vc中如何创建文件夹?
- 谁有winamp中运动式图形动画(扁难算法)的资料?
- 有没有人用VC生成过DXF文件
- 请问如何改变静态文本控件Static的颜色?
- 怎么改变控件排列的次序?
- 我有几个bmp图片,想把它做成avi文件,用程序实现,请问如何做?
- 新手求助:关于error LNK2001: unresolved external symbol的问题
- 当一个TCP连接建立起来后,Server是怎么知道Client端有数据过来了?
- 如何实现一个ActiveX控件放到IE上可以将word镶嵌到IE中??
1.分配一块内存空间,使用Gloable分配API可>64k
2.把你的文件读其中
3.自己编程完成替换
要想快,还要直接操作内存
完成后不要忘了把文件映射从地址空间中移除(UnmapViewOfFile),还要关闭文件和文件映射(CloseHandle)。
程序员不要怕麻烦.
FileLen = cfile.GetLength();
while(cfile.GetPosition()<FileLen)
{
memset(pText,0,1025);
cfile.Read(pText,1024);
。
}
cfile.Close();不过分段读可能会产生半个汉字的问题。