gpt4 book ai didi

c++ - 如何从 C/C++ 中的以下函数获取所有参数?

转载 作者:行者123 更新时间:2023-11-30 18:04:40 25 4
gpt4 key购买 nike

以下是我的方法的实现

static VALUE myMethod(VALUE self, VALUE exc, const char* fmt, ...) { 
// Need to get all the arguments passed to this function and print it
}

函数调用如下:

myMethod(exception, ""Exception message: %s, Exception object %d",
"Hi from Exception", 100);

您能否提供 myMethod() 的代码来访问所有参数并将其打印出来。

提前致谢。

最佳答案

va_start 和 va_arg 宏用于获取函数中的变量参数。可以在 Microsoft 网站上找到示例:http://msdn.microsoft.com/en-us/library/kb57fad8(v=vs.71).aspx

在您的情况下,这有点棘手,因为您需要解析格式字符串以准确知道应该给出多少个参数以及它们的类型。幸运的是,CRT 包含一个用于此目的的函数。 vfprintf 函数可以被赋予一个 va_list (从 va_start 获得)。 vfprintf 将使用这个来处理所有额外的参数。请参阅http://www.cplusplus.com/reference/clibrary/cstdio/vfprintf/举个例子。

关于c++ - 如何从 C/C++ 中的以下函数获取所有参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7466772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com