我正在尝试执行以下操作:
CCombobox m_obs;
CString temp;
m_obs.GetWindowTextA(temp);
double newObs = strtod(temp, NULL);
但是,我在strtod()
中收到错误,指出CString
到const char *
之间没有合适的转化函数。
如何将字符串从组合框转换为双倍?
答案 0 :(得分:2)
尝试使用CStringA
来强制使用Ansi版本,否则CString依赖于UNICODE默认的编译器开关。
答案 1 :(得分:1)
strtod()
期望第一个参数const char * str
。
你应该这样做:
const char* cstr = (LPCTSTR)temp;
double newObs = strtod(cstr, NULL);
答案 2 :(得分:1)
感谢您的回复。
对于UNICODE项目,请执行以下操作:
double NewObs = wcstod(temp, NULL);