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