在某处定义一个宏
#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)'。众所周知,宏存储在编译器的符号表中,这里可能需要一个指针或引用。谁能解释一下?