我正在尝试将CString
转换为int和float但无法找到任何C ++库函数来完成此操作。请帮忙。
答案 0 :(得分:5)
MFC 中正确的 UNICODE 兼容方式如下:
CString sInt = _T("10");
int n = _ttoi(sInt);
CString sFloat = _T("10.1");
float f = _ttof(sFloat);
正如David Heffernan所说:如果你的项目配置只是UNICODE并且你没有使用MBCS而且没有任何计划针对像Windows 98这样的旧MS操作系统你可以使用:
CStringW s = L"10";
int i = _wtoi(s);
在 C ++ 11 中,您可以使用以下内容:
std::string sInt = "10";
int i = std::stoi(sInt);
std::string sFloat = "10.1";
double d = std::stod(sFloat);