0

在某处定义一个宏

    #define IDENTIFIER "identifier"

将此宏传递给 snprint()

    char buf[SIZE] = {0};
    if (snprintf(buf, sizeof(buf), "%08X_%08X_%s.zip", i, j, IDENTIFIER) >= SIZE)
    {
        return "";
    }

但是结果是:

    10800000_00000A00_(null).zip

我不知道为什么它的值是'(null)'。众所周知,宏存储在编译器的符号表中,这里可能需要一个指针或引用。谁能解释一下?

4

0 回答 0