[Visual Studio C++][MFC] CFile::modeNoTruncate 参数说明

一.前言

    本文将采用对比说明的方式,来表达出 modeNoTruncate 参数的作用,从而做到快速理解。

二.讲解

1.参数功能:

        使用CFile::modeNoTruncate的模式,可以简单理解为:用新代码去替换掉原代码的一部分。

2.对比说明

     代码①:

m_file.Open(strFilePathC,CFile::modeCreate|CFile::modeReadWrite);

包含 modeNoTruncate

上面代码的意思为:用modeCreate模式创建和打开一个文件,假如这个文件已经存在,则会清空这个已经存在的文件。

     代码②:

m_file.Open(strFilePathC,CFile::modeCreate|CFile::modeReadWrite|CFile::modeNoTruncate);

不包含 modeNoTruncate 

上面的代码的意思是:用modeCreate模式创建和打开一个文件,假如这个文件已经存在,不清空这个文件了。

3.举例:

        如果原有文件大小为100K,你现在需要写入80K的数据。

        使用第一段代码,会先把文件大小重置为0,再写入80K数据,最后文件长度为80K。

        使用第二段代码,则直接写入80K数据,最终文件长度还是100K。数据为前部分80K新数据和后部20K旧数据。

 

猜你喜欢

转载自blog.csdn.net/Robot_Starscream/article/details/83042677
今日推荐