为了进行测试,我希望每次创建文件名时都添加一个数字-我正在测试的应用程序没有用户界面,并且可能会创建多个文件。
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
,但看来您有反对的理由。无论如何,祝你好运。