出于测试目的,我希望每次创建文件名时都添加一个数字 - 我正在测试的应用程序没有用户界面,并且可能会创建多个文件。
void somefunction()
{
static INT iFileNo = 0;
TCHAR tFileName[MAX_PATH] = L"c:/test/abcd.bmp";
iFileNo ++;
}
我想以某种方式将 iFileNo
附加到 tFileName
(以获取类似 abcd1.bmp
、abcd2.bmp
...)...我该怎么做?
注意:我没有使用任何字符串库
最小的库...包括
#include <STDLIB.H>
#include <STDIO.H>
#include <TCHAR.H>
目标操作系统:Windows
最佳答案
您可以让它变得困难、容易或非常容易。这些中间的东西是这样的:
void somefunction()
{
static unsigned int uiFileNo = 0;
static const WCHAR wSpec[] = L"c:/test/abcd%u.bmp";
WCHAR wFileName[MAX_PATH];
swprintf_s(wFileName, MAX_PATH, wSpec, uiFileNo++);
}
使用swprintf_s
,这似乎满足您的包含文件限制(并假设这是 Windows,您的问题似乎表明了这一点)。
我个人使用 std::wstring
,但您似乎有理由反对它。无论如何,祝你好运。
关于c++ - 如何将 int 附加到 tchar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27967545/