可能重复:
How to get all arguments from following function in c/c++?
我已经实现了Ruby C扩展(即从ruby脚本调用C函数)以下是C文件“cImplementation.c”中实现的变量参数函数
#include<stdio.h>
static VALUE cFunction(VALUE self, const char* fmt, ...)
{
char buf[256];
va_list args;
va_start(args, fmt);
if(vsnprintf(buf, sizeof(buf), fmt, args) > 0)
fputs(buf, stderr);
va_end(args);
return Qnil;
}
void Init_MyRuby()
{
VALUE MRuby = rb_define_module("MyRuby");
rb_define_singleton_method(MRuby, "cFunction", cFunction, 1);
}
以下是通过pssing printf格式化字符串调用cFuncton()方法的ruby脚本代码,如下所示:
require 'cFile'
MyRuby::cFunction("My Message:: %s, My Value:: %d", "Hi Im here", 100 )
任何人都可以建议我如何在C语言中访问这个printf格式的字符串,以便按照访问说明符打印值? 例如,C函数中的输出预期为=&gt;我的留言::嗨我在这里,我的价值:: 100 提前致谢。