【发布时间】:2013-11-21 00:45:06
【问题描述】:
我有一个关于将字符串转换为值的问题。
以下是我尝试的示例代码。
我正在 C++ Builder XE4 上尝试这个。
String strSize = L"64420392960"; // 64GB
size_t size;
size = strSize.ToDouble(); // returns 4290850816
char *end_ptr;
size = strtol(AnsiString(strSize).c_str(), &end_ptr, 10); // returns 0
ToDouble() 和 strtol() 都不起作用。
我知道 strtol 不起作用,因为 long 类型高达 4.3GB。
C++ Builder XE4 中是否有任何函数可以在处理 64GB 或数百 GB(例如 500GB)时将 strSize 转换为 size_t 值?
【问题讨论】:
标签: c++ string c++builder c++builder-xe4