c++将LARGE_INTEGER转换为String
C++ Convert LARGE_INTEGER to String
我得到了一个更大的整数它是由一个运算
形成的__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;
但是没有成功
std::string to_string( long long value );
在<string>
中定义http://en.cppreference.com/w/cpp/string/basic_string/to_string
Maybe:
std::stringstream strstream;
strstream << c;
std::string percent(strstream.str());
或者试着看看_i64toa()函数
首先你的计算似乎是错误的:我猜最右边的部分是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();
您的字符串转换没有问题,您的LARGE_INTEGER数学有问题。试试这个:
__int64 c = (bytesTransferred.QuadPart * 100) / (fileSize.QuadPart)
相关文章:
- 使用char类型将decimal转换为string,将string转换为decimal
- C++:如何将 unix 时间的字符串转换为 *tm?(使用时间错误:"cannot convert 'String' to 'tm*' ")
- 将C++ std::string 转换为 UTF-16-LE 编码的字符串
- 将日语 wstring 转换为 std::string
- 如何将带有十六进制值的 std::string 转换为 std::vector<无符号字符>
- 如何在 std::string 和 Aws::String 之间进行转换?
- C++:将模板类型 char 转换为 std::string
- 无法<string>从"常量字符 []"转换为<类名>
- 将 std::string( "x3BxDEx7C" ) 转换为可读的十六进制字符串?
- 如何在 c++ 中将向量转换为<string>常量字符* const*?
- 无法从'const std::string [3]'转换为'std::string'
- 从 std::string 转换为 const 无符号整数
- 使用 .data() 将字符数组转换为 std::string 不会转换整个数组
- 为什么std::string没有(显式)const char*强制转换
- 将单个字符转换为 std::string 前缀 \x01
- C++ 模板函数无法将"std:string"转换为"double"作为回报
- 将 std::string 转换为 const char* 用于 printf 消耗
- Swig无法将python3的字节对象转换为std::string
- 将utf16宽std::wstring转换为utf8窄std::string以获得罕见字符时出现问题
- 将 std::string 转换为 const tchar*