Я пытаюсь сделать следующее:
CCombobox m_obs;
CString temp;
m_obs.GetWindowTextA(temp);
double newObs = strtod(temp, NULL);
Однако я получаю ошибку в strtod()
что нет подходящей функции преобразования из CString
в 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);