传递宏时snprintf问题

时间:2013-05-18 08:48:55

标签: macros null arrays printf

在某处定义一个宏

    #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)'。我们知道,宏存储在编译器的符号表中,也许它需要一个指针或引用。 谁能解释一下呢?

0 个答案:

没有答案