Здравствуйте, пользователи gcup!
У меня, как видно из названия темы, появилась проблема с конвертацией числа с плавающей точкой в массив символов LPCTSTR[32] и обратно.
Думаю, что на этом вопрос можно и закончить, но я все-таки расскажу побольше:
В данный момент я работаю над моим относительно большим проектом, который мне хочется называть "движком".
Если хотите, то посмотрите вот это видео.
Как видно из видео, я попробовал сделать редактирование цветов компонентов материала - это частично получилось.
Я это сделал вот так:
Код
//Буфер символов
LPCTSTR textBuffer[32];
//Установка текущего значения компоненты в строку редактора текста
wsprintf ((LPWSTR)textBuffer, L"%d", (int)material->Diffuse.r);
SendMessage(EOMEditDiffuse1, WM_SETTEXT, NULL, (LPARAM)textBuffer);
//Установка нового значения компоненты из редактора текста
GetDlgItemText(OSWindow, ID_EOMEDIT1, (LPWSTR)textBuffer, sizeof(textBuffer));
material->Diffuse.r = (float)atof((const char*)textBuffer);
Но это неправильно. При таком раскладе любое введенное значение обрезается до первого числа (ввел 294 - получил 2). Ну а о числах с плавающей точкой остается только мечтать.
По хорошему выводимые и вводимые числа должны лежать в диапазоне от 0 до 1.
P.s. Для меня с самых первых дней изучения C++ сложнейшей и неприятнейшей вещью была работа со строками и символами.
Заранее спасибо за помощь ;3