C ++将LARGE_INTEGER转换为String

时间:2015-07-15 10:18:40

标签: c++ winapi tostring

我有一个由操作

形成的更大的整数
__int64 c = (bytesTransferred.HighPart*2^31 + bytesTransferred.LowPart) * 100/(fileSize.HighPart*2^31 + bytesTransferred.LowPart);

如何将其转换为字符串以在消息框中显示它?我试过了:

std::string percent;
std::stringstream strstream;
strstream << c;
strstream >> percent;

但没效果。

1 个答案:

答案 0 :(得分:2)

首先,你的计算似乎是错误的:我猜它的最右边部分是fileSize.LowPart而不是bytesTransferred.LowPart。 计算c的更好方法可能是

#include <cstdint>
int64_t c = (bytesTransferred.QuadPart * 100) / fileSize.QuadPart;

然后转换为字符串,你可以这样做:

std::stringstream ss;
ss << c;
std::string percent = ss.str();