c++ - 如何将 int 附加到 tchar?

标签 c++ c string formatting

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

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,但您似乎有理由反对它。无论如何,祝你好运。

关于c++ - 如何将 int 附加到 tchar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27967545/

相关文章:

c++ - 将 'const char *' 传递给类型为 'char *' 的参数会丢弃限定符

java - 正则表达式模式匹配

c - (int, const char *) 作为 uthash 库的复合键

Java ArrayList 转换为 C++

c++ - FFmpeg H264解析

组合三个半字节

c++ - 我的代码正确,但Leetcode平台不接受。 (之字形转换)

c++ - 我在这一行代码中的语法有什么问题(指针和引用以及取消引用哦,我的)?

c++ - Qt4 : write QByteArray to file with filename?

c - 查找数组中重复的整数