MFC 環境下,用空格分割字符串中的浮點數,並將每個浮點數轉換為十六進制表示。
CString str = _T("3.14 2.718 1.414");
CString token;
int curPos = 0;
while ((token = str.Tokenize(_T(" "), curPos)) != _T("")) {
double val = _ttof(token); // 字符串轉 double
CString hex;
hex.Format(_T("0x%X"), (int)val); // 整數部分轉十六進制
// 或保留浮點數十六進制表示(IEEE 754)
// 需用 memcpy 複製 double 到 uint64_t 再格式化
TRACE(_T("原值: %s -> 十六進制: %s\n"), token, hex);
}
double val = _ttof(token);
uint64_t bits;
memcpy(&bits, &val, sizeof(double));
CString hex;
hex.Format(_T("0x%016llX"), bits); // 完整 64 位十六進制
strtok_s(C 模式,需複製字符串)CStringList + 手寫分割循環博客園/CSDN 搜索「MFC CString Tokenize 分割」有大量完整工程示例。