用CFILE读文件怎么知道是否到了最后?
如:
CFile file("c:\\a.txt",modeRead);
char *str=new char[10000000]; //可以设置这么大的缓冲以提高速度吗?
file.Read(str,sizeof(str)); //怎么让它不断读直到最后?
如:
CFile file("c:\\a.txt",modeRead);
char *str=new char[10000000]; //可以设置这么大的缓冲以提高速度吗?
file.Read(str,sizeof(str)); //怎么让它不断读直到最后?
解决方案 »
- WTL程序中如何打开并按行读取文件?
- MFC的PICTURE CONTROL如何显示数据库中的图片文件
- GDI画的图在移动窗体时消失了
- 想学VC网络编程, 各位给点建议
- 文件执行的时候如果有错误,就象死机了一样,关也关不掉,这是什么问题呀?
- 网络通讯程序的服务器端如果要暂时的保存和处理数据,涉及到排队问题,需不需要在服务器上做数据库还是用别的手段。
- 一个很惭愧的问题,大脑已经抑制了
- 简单问题。 ::ReadFile()失败,请帮帮忙看看。
- 自己vc做测试工具,读写文件出错求助啊!!
- 一个奇怪的现象,有没有高手知道是怎么回事?(送20分)
- 怎样给数据库中的OLE对象赋值
- 那位高手知道如何侦测一个文件夹中文件变化的事件?
{
...
}
(2)
CString rtnValue;
char ch;
while (!feof(fp)) {
rtnValue = rtnValue + ch;
ch = fgetc(fp);
}
CString strLine;
while(file.ReadString(strLine))
{
//add you code;
}
CString strLine;
while(file.ReadString(strLine))
{
//add you code;
}
if(file.GetPosition()==file.Getlength())
ReadString()的返回值为布尔值,如果返回假就说明到了文件尾部
你自己找一个适合的用吧
如果仅仅是将文件内容读入内存的话,缓冲不易太大,一般应小于64k
如4k,8k,32k等等,最好为4的倍数,windows处理32位最快//怎么让它不断读直到最后?
CFile file("c:\\a.txt",modeRead);
char *str=new char[4096];
int nRet;
nRet = file.Read(str,sizeof(str));
while (nRet)
{
nRet = file.Read(str,sizeof(str));
}