typeconverter — конвертирует wchar_t в плавающее переполнение стека

Есть ли лучший способ конвертировать wchar_t в float? Я нашел только одно решение, которое действительно работает.

wchar_t buf = GetText(); // GetText() returns a wchar_t
float fNumber1 = _wtof(&buf);

Я также попробовал следующее, что не удалось:

float fNumber1 = (float)GetText(); // returns the ascii code

float fNumber1 = _wtof(&GetText();

float fNumber1 = _wtof(&(GetText()));

1

Решение

#include <wchar.h>

int main ()
{
wchar_t szOrbits[] = L"90613.305 365.24";
wchar_t * pEnd;
long double f1, f2;
f1 = wcstold (szOrbits,&pEnd);
f2 = wcstold (pEnd,NULL);
wprintf (L"Pluto takes %.2Lf years to complete an orbit.\n", f1/f2);
return 0;
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]