将整数转换为格式化的LPCWSTR.C++

Mr *_*ell 4 c++

我有一个direct3d项目,它使用D3DXCreateTextureFromFile()来加载一些图像.此函数采用LPCWSTR作为文件路径.我想加载一系列连续编号的纹理(即MyImage0001.jpg,MyImage0002.jpg等)但是c ++的疯狂字符串让我很困惑.

我如何能:

for(int i=0; i < 3;i++)
{
//How do I convert i into a string path i can use with D3DXCreateTextureFromFile?
}
Run Code Online (Sandbox Code Playgroud)

编辑:

我应该提到我正在使用Visual Studio 2008的编译器

R S*_*hko 9

一种选择是std::swprintf:

wchar_t buffer[256];
std::swprintf(buffer, sizeof(buffer) / sizeof(*buffer),
              L"MyImage%04d.jpg", i);
Run Code Online (Sandbox Code Playgroud)

你也可以使用std::wstringstream:

std::wstringstream ws;
ws << L"MyImage" << std::setw(4) << std::setfill(L'0') << i << L".jpg";
ws.str().c_str();  // get the underlying text array
Run Code Online (Sandbox Code Playgroud)