加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C:将可变数量的参数从一个函数传递给另一个函数

发布时间:2020-12-16 03:43:16 所属栏目:百科 来源:网络整理
导读:所以,我现在面临的一个小问题 – 我正在尝试编写一个函数,接受char *消息和可变数量的参数.我的函数会稍稍修改消息,然后它将使用消息和给定的参数来调用printf.必不可少,我想写这样的东西: void modifyAndPrintMessage(char* message,...){ char* newMessag
所以,我现在面临的一个小问题 – >我正在尝试编写一个函数,接受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 );
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读