为了进行测试,我希望每次创建文件名时都添加一个数字-我正在测试的应用程序没有用户界面,并且可能会创建多个文件。

void somefunction()
{
    static INT iFileNo = 0;
    TCHAR tFileName[MAX_PATH] = L"c:/test/abcd.bmp";
    iFileNo ++;
}

我想以某种方式将iFileNo附加到tFileName(以获得类似abcd1.bmpabcd2.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,但看来您有反对的理由。无论如何,祝你好运。

09-18 02:32