当前位置: 代码迷 >> 综合 >> 「 C++ 参数 」“ CFile::modeNoTruncate 参数”讲解
  详细解决方案

「 C++ 参数 」“ CFile::modeNoTruncate 参数”讲解

热度:30   发布时间:2023-12-15 10:48:53.0

一、前言

        本文将采用对比说明的方式,来表达出 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旧数据。