Мне нужно записать в const wchar_t* items следущее
Vector(1.0f, 0.0f, 0.0f)
Записано оно у меня в векторе vertexBuffer. Например
vertexBuffer[0] - Vector(1.0f, 0.0f, 0.0f)
vertexBuffer[1] - Vector(0.5f, 0.5f, 0.0f)
и т.д И мне нужно чтобы оно записало 3 координаты и запятую между ними. Мне нужно чтобы такое было на выходе
const wchar_t *items[] = { L"Vector(1.0f, 0.0f, 0.0f)", L"Vector(0.5f, 0.5f, 0.0f" и т.д все с вектора };
но я не знаю как такое реализовать через std::wstringstream. Буду рад помощи
Как я сделал но код не хочет работать: UPD(кричит на последнюю строчку коду в втором форе):
sstd::vector<std::wstring> wstring(10);
const wchar_t* items = new wchar_t[10];
for (decltype(vertexBuffer.size()) index = 0; index < vertexBuffer.size(); ++index)
{
std::wstringstream ws;
ws << L"Vetrex(" << vertexBuffer[index].mX << L"," << vertexBuffer[index].mY << L"," << vertexBuffer[index].mZ << L" )";
wstring[index] = ws.str();
}
for (decltype(wstring.size()) index = 0; index < wstring.size(); ++index)
{
items[index] = (const wchar_t*)wstring[index].c_str();
}
ws.str();
возращает временный объект std::wstring. Обязательно нужно зафиксировать это переменной
std::wstring res(ws.str());
Затем из этой строки выклянчить копию с помощью wcscpy
#include<sstream>
wchar_t * wcopy( new wchar_t[res.size()+1UL]);
wcscpy(wcopy,res.c_str());
Сборка персонального компьютера от Artline: умный выбор для современных пользователей