分享一个API
本帖最后由 urenai 于 2024-1-23 02:09 编辑setEndOfFile 函数 (fileapi.h) - Win32 apps | Microsoft Learn
具体干什么的,你猜....
通常情况下,当我们操作大文件,增删内容后,
其中,增加内容的情况下,不需要处理冗余尺寸。
但是,如果删减了部分内容后,想要缩小尺寸,唯一的办法:创建新文件。
但是哥们,面对大文件,很无力的好么,此时,我们就需要这么一个API。
这个API是从物理层面截断文件。
使用方法也简单。
调整读写文件, 执行该API,参数还只有一个,即:文件句柄....
@飞扬工作室
官方跟进,做好入库工作啊。
BOOL SetEndOfFile(
HANDLE hFile
);
LARGE_INTEGER newFileSize;
newFileSize.QuadPart = 新的文件长度(字节);
SetFilePointerEx(hFile, newFileSize, NULL, FILE_BEGIN);
SetEndOfFile(hFile);
另外:
BOOL SetFileValidData(
HANDLE hFile,
LONGLONG ValidDataLength
);
下次一定~火山是做减法的..虽然好用.强大..但是大部分用不到..会给人觉得,我擦,火山怎么这么复杂...
但是用得到的.就觉得,辣鸡玩意,啥都没有~ 好,我看看能不能加到文件读写类里面。 可以用,封出来了。 本帖最后由 urenai 于 2024-1-23 13:03 编辑
创世魂 发表于 2024-1-23 09:14
可以用,封出来了。
再多做点好事。
添加个 删除内容(起始位置,结束位置)
实际要做的就是,把结束位置到文件结束位置,这些数据往前移动。
使用for循环来搬迁,避免缓冲区问题来往前搬移。
页:
[1]