我正在尝试使用 D3DXSaveSurfaceToFile 方法保存多个 .bmp 文件,但无法解决它,我尝试制作随机字符串/ wstrings < / strong>&amp;使用 D3DXSaveSurfaceToFileW / D3DXSaveSurfaceToFileA 将它们转换为 LPCWSTR / LPCSTR ,但我得到的只是胡言乱语。
有关如何做的任何想法? (我的项目是C ++,Visual Studio,DirectX 2010年6月)
答案 0 :(得分:0)
我的解决方案,如果有人想要它(使用 char ):
static int fileIndex = 0;
char fileName[20] = "capture";
sprintf_s(fileName, sizeof(fileName), "%s%d.jpg", fileName, fileIndex);
//sprintf(fileName, "%s%d.jpg", fileName, fileIndex);
size_t size = strlen(fileName) + 1;
wchar_t* wFileName = new wchar_t[size];
size_t outSize;
mbstowcs_s(&outSize, wFileName, size, fileName, size - 1);
//mbstowcs( wFileName, fileName, size - 1);
LPWSTR ptr = wFileName;
D3DXSaveSurfaceToFile(ptr, D3DXIFF_JPG, p, nullptr, nullptr);
fileIndex++;