c++ - C++ 覆盖句柄的内容
问题描述
我正在尝试从 HANDLE 文件中获取一个数字,将其存储在一个 int 中,并可能将其替换在同一个文件中。我的代码现在看起来像这样
HANDLE numFile = INVALID_HANDLE_VALUE; //Just in case file not found
numFile = CreateFile("numFile.txt",
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
ReadFile(numFile, input, sizeof(char), &bytesRead, NULL);
int myNumber = input[0];
我知道 API 中存在 WriteFile 方法,但看起来它会附加文件而不是覆盖内容。我曾简要地考虑过每次删除和重新创建文件,但这对于这个问题来说似乎不必要地复杂。有什么想法吗?
解决方案
使用函数SetFilePointer先WriteFile
于返回开始
SetFilePointer(numFile, 0, NULL, FILE_BEGIN);
推荐阅读
- swift - 如何使用 Combine 实现我的 MVP/Rxswift
- erlang - Bang 运算符不适用于分布式节点
- python - 验证丢失的原因很高?
- python - 为什么我的 Flask 应用程序没有在 SQLite 中创建我的模型?
- bootstrap-4 - 引导专家 - 输入文本字段不适用于弹出模式
- c# - WPF Listview selecteditem 未从发件人类型转换为 ListViewItem
- sql-server - 与服务器成功建立连接,但在登录前握手期间发生错误。(提供者:TCP提供者,错误:35)
- angular - 在 Angular 9 中使用 Resolve 苦苦挣扎
- excel - VBA Msgbox 未显示计算中的正确值
- android - 我想在滚动视图中添加一个 imageButton 然后对其进行操作