6

我试图在 Windows 中以毫秒为单位获取经过的时间。我发现这样做的唯一方法是使用 FILETIME 结构获取自 1601 年以来的 100 纳秒数。但是 FILETIME 结构将值存储在两个变量中,我想知道如何减去其中两个结构,将它们除以 10000(以获得毫秒)并将结果存储在一个变量中我正在使用 c++ 和可视化工作室 2008 速成版

4

2 回答 2

6

阅读以下文档FILETIME

不建议您从FILETIME结构中添加和减去值以获得相对时间。相反,您应该将文件时间的低位和高位部分复制到ULARGE_INTEGER结构,对QuadPart成员执行 64 位算术,并将LowPartHighPart成员复制到FILETIME结构中。

你也有你的单一号码(QuadPart结构ULARGE_INTEGER)。

于 2012-04-04T10:54:35.207 回答
0
FILETIME ft1;
FILETIME ft2;

int iDifferenceInMS = (*((ULONGLONG*)&ft2) - *((ULONGLONG*)&ft1))/10000;
于 2012-04-04T17:56:07.667 回答