所以,我现在面临的一个小问题 – >我正在尝试编写一个函数,接受char *消息和可变数量的参数.我的函数会稍稍修改消息,然后它将使用消息和给定的参数来调用printf.必不可少,我想写这样的东西:
void modifyAndPrintMessage(char* message,...){ char* newMessage; //copy message. //Here I'm modifying the newMessage to be printed,and then I'd like to print it. //passed args won't be changed in any way. printf(newMessage,...); //Of course,this won't work. Any ideas? fflush(stdout); }
所以,任何人都知道我该怎么做才能实现呢?我会非常感谢任何帮助:)
解决方法
你想使用varargs …
void modifyAndPrintMessage( char* message,... ) { // do somehthing custom va_list args; va_start( args,message ); vprintf( newMessage,args ); va_end( args ); }