【发布时间】:2021-05-17 22:38:14
【问题描述】:
我正在尝试从 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 方法,但看起来它会附加文件而不是覆盖内容。我曾简要地考虑过每次删除和重新创建文件,但这对于这个问题来说似乎不必要地复杂。有什么想法吗?
【问题讨论】:
-
你读过documentation吗?您正在使用
OPEN_EXISTING作为dwCreationDisposition参数,而这听起来像是您想要TRUNCATE_EXISTING -
这必须使用Windows API吗?有跨系统工作的标准文件 I/O。