比如说,有一个log_printf的函数定义如下:
void log_printf(char *fmt, ...);
参数fmt和后面的变参,调用规则和printf相同。该函数使用sprintf,将fmt和之后的参数转换成格式化字符串,再使用fwrite写入到文件,或使用OutputDebugStirng输出调试信息。
那么,如何在该函数内部将fmt和后面的变参传递给sprintf?C语言能否实现这一操作?还是必须使用内嵌汇编?
比如说,有一个log_printf的函数定义如下:
void log_printf(char *fmt, ...);
参数fmt和后面的变参,调用规则和printf相同。该函数使用sprintf,将fmt和之后的参数转换成格式化字符串,再使用fwrite写入到文件,或使用OutputDebugStirng输出调试信息。
那么,如何在该函数内部将fmt和后面的变参传递给sprintf?C语言能否实现这一操作?还是必须使用内嵌汇编?