在使用Linux的GNU-GCC中,这是有效的
#define sprintfc(string, ...) sprintf(string+strlen(string), ##__VA_ARGS__)
Visual Studio 2010是否有相同的定义?
答案 0 :(得分:0)
Microsoft Visual C编译器does support variadic macros。但是,问题是the GCC extension ##,如果没有传递参数,则删除前导逗号。
因为在没有第二个参数的情况下从不调用sprintf(),所以如果你只删除##,你的代码应该可以正常工作。