我正在尝试执行以下操作:
CCombobox m_obs;
CString temp;
m_obs.GetWindowTextA(temp);
double newObs = strtod(temp, NULL);
但是,我得到的错误strtod()
是不存在合适的转换函数 from CString
to const char *
。
如何将字符串从组合框转换为双精度?
我正在尝试执行以下操作:
CCombobox m_obs;
CString temp;
m_obs.GetWindowTextA(temp);
double newObs = strtod(temp, NULL);
但是,我得到的错误strtod()
是不存在合适的转换函数 from CString
to const char *
。
如何将字符串从组合框转换为双精度?
尝试改为CStringA
强制使用 Ansi 版本,否则 CString 取决于编译器开关,其中 UNICODE 是默认的。
strtod()
期待const char * str
第一个论点。你应该做:
const char* cstr = (LPCTSTR)temp;
double newObs = strtod(cstr, NULL);
感谢您的回复。
对于 UNICODE 项目,请执行以下操作:
double NewObs = wcstod(temp, NULL);