void TestPrint(char* format, ...)
{
    va_list argList;

    va_start(argList, format);
    printf(format, argList);
    va_end(argList);
}


int main()
{
    TestPrint("Test print %s %d\n", "string", 55);
    return 0;
}

我需要得到:
Test print string 55

实际上,我得到了垃圾输出。该代码有什么问题?

最佳答案

请改用 vprintf()

关于c - 使用va_list调用printf,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5977326/

10-12 14:58