我现在是这个样子:
char* bin[10000];
mNewFile.Read (bin,mNewFile.GetLength ());难道要给bin数组设为很大很大?不可能吧:(
char* bin[10000];
mNewFile.Read (bin,mNewFile.GetLength ());难道要给bin数组设为很大很大?不可能吧:(
解决方案 »
- 写一个能修改字体颜色和背景颜色的记事本
- listcontrol设置单元格字体颜色的问题
- 问个VC使用的问题 把一个控制台工程 变为动态链接库工程
- COM指针问题
- 如何得到单文档和对话框的比例?~
- 使用API函数,对同样内容(假设为字符串)读写ini文件快,还是读写注册表快?
- CFtpFileFind获取远程文件的修改时间老是不对!急!急!急!急!
- 我的问题难道没有人解决。我已经给各位斑竹发了短信(上午就发了)。但是没有什么效果。各位能看看吗??如果有人解决300分。up有分。
- 高手探讨不同tlb中接口重定义冲突问题
- 关于画图重绘问题
- 在MDI的New菜单下建子菜单???
- 非常菜的问题,怎样从对话框返回数据?
CFile myFile;
CFileException e;
char * pFileName = "D:\\...\\test.txt";
myFile.Open(pFileName,CFile::modeRead,&e);
//得到文件大小
DWORD dwsize = myFile.GetLength();
char * buffer;
myFile.Read(buffer,dwsize);
...
不知道是不是这个意思?
virtual UINT Read( void* lpBuf, UINT nCount );
mNewFile.Read (bin,mNewFile.GetLength ());
这样:
LPSTR buf;
CFile pf;pf.Open(...);
buf=new char[pf.Getlength()];
pf.Read(buf,pf.GetLength());
pf.Close();//do somethingdelete buf;
CFile file;
file.Open();
DWORD dwLength = file.GetLength();
BYTE* pData = new BYTE[dwLength];
ASSERT(pData);
DWORD dwRead = file.ReadHuge(pData,dwLength);
ASSERT(dwRead==dwLength); file.Close();
这种办法适合于内容不是很大的文件,如果文件内容很大,应该采用分段读取的办法.这样,对读出来的数据的操作,不会因为内存太大而影响了速度.
ReadHuge() Can read more than 64K of (unbuffered) data from a file at the current file position. Obsolete in 32-bit programming. Use Read()
void*也出错:(