D3DXSaveSurfaceToFile - 随机文件名?
D3DXSaveSurfaceToFile - Random file name?
我正在尝试使用 D3DXSaveSurfaceToFile 方法保存多个 .bmp 文件但无法解决,我试过制作随机 strings/wstrings 并将它们转换为 LPCWSTR/LPCSTR,使用 D3DXSaveSurfaceToFileW / D3DXSaveSurfaceToFileA , 但我得到的只是胡言乱语。
有什么办法吗?
(我的项目使用 C++,Visual Studio,DirectX 2010 年 6 月)
我的解决方案,如果有人需要的话(使用 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++;
我正在尝试使用 D3DXSaveSurfaceToFile 方法保存多个 .bmp 文件但无法解决,我试过制作随机 strings/wstrings 并将它们转换为 LPCWSTR/LPCSTR,使用 D3DXSaveSurfaceToFileW / D3DXSaveSurfaceToFileA , 但我得到的只是胡言乱语。
有什么办法吗? (我的项目使用 C++,Visual Studio,DirectX 2010 年 6 月)
我的解决方案,如果有人需要的话(使用 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++;