我向一个txt文件中写一个数组:bufferarray,大小为6000字节
cfile file;
file.Open(_T("c:/test.txt"),CFile::modeCreate|CFile::modeNoTruncate|CFile::modeReadWrite);
UCHAR bufferarray [60][100]={0};
for (int i=0;i<60;i++)
{
for (int j=0;j<100;j++)
{
bufferarray[i][j]=temp++;
}
}
file.Write(bufferarray,sizeof(bufferarray));
file.Flush();
经过测试,如果加上file.Flush();时间要用60-70ms,有时会超过100ms,如果不加file.Flush();这个过程连1ms都用不上,从结果上看,不加file.Flush();内容也被写入了文件,加不加file.Flush();结果都一样。
我想问一下为什么二者的时间会差别这么大?,flush可不可以不用?如果不用会出什么错?为什么我没用flush也会数据也会被写入文件?
最后向各位请教:在各种写文件的方法中,用什么函数或方法能够做到速度最快,我想在最快的时间内将数据写入文本文件,最大上限是70ms写6k个数据?
分数不够了,只有20分了,如果以后挣来分数一定会补的。
cfile file;
file.Open(_T("c:/test.txt"),CFile::modeCreate|CFile::modeNoTruncate|CFile::modeReadWrite);
UCHAR bufferarray [60][100]={0};
for (int i=0;i<60;i++)
{
for (int j=0;j<100;j++)
{
bufferarray[i][j]=temp++;
}
}
file.Write(bufferarray,sizeof(bufferarray));
file.Flush();
经过测试,如果加上file.Flush();时间要用60-70ms,有时会超过100ms,如果不加file.Flush();这个过程连1ms都用不上,从结果上看,不加file.Flush();内容也被写入了文件,加不加file.Flush();结果都一样。
我想问一下为什么二者的时间会差别这么大?,flush可不可以不用?如果不用会出什么错?为什么我没用flush也会数据也会被写入文件?
最后向各位请教:在各种写文件的方法中,用什么函数或方法能够做到速度最快,我想在最快的时间内将数据写入文本文件,最大上限是70ms写6k个数据?
分数不够了,只有20分了,如果以后挣来分数一定会补的。