腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(2832)
视频
沙龙
2
回答
va_start
()修改堆栈
、
、
据说,调用
va_start
()之后必须调用va_end(),因为
va_start
() (总是?)扰乱了堆栈。有谁能解释一下对
va_start
()的调用是如何修改堆栈的,以及这种修改如何帮助获得各种参数。
浏览 12
提问于2013-09-19
得票数 0
回答已采纳
1
回答
FlexeLint在va_list上抛出错误
、
、
void debug(int msglevel, const char *fmt, ...)va_list va;vfprintf(stderr, fmt,
浏览 3
提问于2017-05-07
得票数 0
1
回答
C变量函数未按预期工作
、
以下是功能:{ va_list list;
va_start
(list
浏览 4
提问于2015-03-07
得票数 0
回答已采纳
1
回答
如何使用
va_start
()?
、
在带有变量参数的函数中,我们初始化一个类型为va_list的对象,即'ap‘,函数
va_start
()为:我不明白 1.哪种类型的对象可以作为
浏览 3
提问于2019-07-15
得票数 4
回答已采纳
2
回答
多个va_end调用的顺序重要吗?
、
、
我有以下代码:
va_start
(va[0], fmt);process(fmt, va);va_end(va[1]); 我查看了各个站点的
va_start
和va_end文档,他们只说在调用函数返回之前,应该为每个
va_start
调用va_end。
浏览 3
提问于2014-09-03
得票数 8
回答已采纳
1
回答
获取可变数量的参数的sizeof
, ...) { va_list args;
va_start
浏览 3
提问于2019-02-13
得票数 0
2
回答
用于std的SBRM/RAII::va_list/
va_start
()/va_end使用
、
、
我的代码包含如下代码片段:
va_start
(ap, msgfmt); const tchar *msg = buf.print_va_list(msgfmt, ap);这些都很短,而且
va_start
()和va_end()很接近,所以它们不是什么大问题。简单测试表明,不允许从不带省略号的函数调用
va_start
()。是否允许从与
va_start
()调用的函数不同的函数调用va_end()
浏览 7
提问于2012-08-27
得票数 8
回答已采纳
4
回答
如何在
va_start
中使用字符串?
va_start
(ap, str.c_str()); void examplefunctionname(string str, ...){ for(int i = 0; i < len; i++){ }
va_start
va_start
(ap, str); 有人能告诉我如何使用string而不是const char *吗?
浏览 3
提问于2011-01-10
得票数 6
回答已采纳
2
回答
va_list中传递的参数数量
、
全,
va_start
(args, fmts);va_end(args); 有没有可能在
va_start
浏览 2
提问于2013-03-04
得票数 3
回答已采纳
3
回答
调用带有va_list参数的函数需要
va_start
()在乞讨时使用?
、
、
需要在身体开始时调用
va_start
(vals, n)吗?我试过没有,但我不知道哪一种方法是正确的。int max(int n, va_list vals)
va_start
(vals, n);}
浏览 6
提问于2020-11-09
得票数 3
回答已采纳
3
回答
传递__VA_ARGS__时,第一个参数是错误的
、
、
VA_ARGS__);\{
va_start
浏览 4
提问于2017-08-17
得票数 0
回答已采纳
2
回答
是
va_start
(等)可重入的?
、
在编辑一个有很长历史的类时,我遇到了架构师的一个特殊习惯,那就是将他的
va_start
-> va_end序列包装在互斥锁中。添加的changelog (大约15年前制作,此后未修改)指出,这是因为
va_start
et。并不是所有的都是可重入的。我没有意识到
va_start
有任何这样的问题,因为我一直认为它只是一个用于堆栈指针数学的宏。是不是有什么我没注意到的?如果会有副作用,我不想更改这段代码。具体地说,有问题的函数看起来很像这样:{ mutex.L
浏览 11
提问于2010-10-06
得票数 5
回答已采纳
2
回答
我们可以不调用va_end而调用
va_start
吗?
、
如果我的理解是正确的,那么需要使用va_end进行清理,并且在相同的上下文中,va_end的手册页说 在同一个函数中,每次调用
va_start
()都必须与对应的va_end()调用相匹配列表中的多条遍历是可能的,每个遍历都是由
va_start
()和va_end()括号括起来的。va_end()可以是宏或函数。因此,很明显,如果调用了va_end,则需要调用
va_start
,但反向关系是否成立--也就是说,va_end之前是否总是有
va_start
浏览 9
提问于2013-06-28
得票数 3
回答已采纳
1
回答
va_copy()需要va_end()吗?
、
在处理变量参数时,是
va_start
()需要匹配的va_end()调用,还是va_copy()也需要匹配的va_end(),即{ va_copy(c,l); va_end(c); //is this correct ?
浏览 2
提问于2014-06-18
得票数 6
回答已采纳
1
回答
我们可以在中间调用
va_start
()两次而不调用va_end()吗?
、
string.h> {
va_start
= va_arg(ap, char *); }
va_start
(ap, count); /* Is it ok
浏览 4
提问于2020-01-06
得票数 2
回答已采纳
1
回答
如何将objective语言(`va_list`,`
va_start
‘,`va_end’)转换成快速语言?
、
它们是客观-c语言:{NSLog(@"%@", msg); } 如何将objective语言(va_list,
v
浏览 2
提问于2018-11-09
得票数 0
回答已采纳
1
回答
为什么我的变量参数不能在C中工作?
、
void con_printf(char *fmt, char attr, ...) char *s = printf_buffer;
va_start
浏览 0
提问于2010-12-11
得票数 2
回答已采纳
1
回答
带变量参数的vsnprintf问题
、
static std::string format(const std::string fmt, ...) va_list vl; int
浏览 3
提问于2013-11-13
得票数 0
回答已采纳
1
回答
C++ - Va_List (可变数参数)不能正确浇铸
、
、
c == 'i' || c == 's') pSum++; }
va_start
浏览 7
提问于2014-06-16
得票数 0
回答已采纳
1
回答
C++为什么
va_start
期望最后一个非变量函数参数?
、
、
char * __cdecl foo(const char * format, const char * requiredArgument, ...) va_list args;
va_start
我对这种行为的解释--,但我可能错了,如果是,请纠正我的错误--是我错误地指定了一个函数参数,而不是
va_start
中的最后一个非变量参数,唯一可以接受的形式是
va_start
(args, requiredArgument),而不是像我想要的
va_start
(args, format)那样。换句话说,我错误地使
浏览 1
提问于2013-02-03
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
C语言可变参数的原理和应用
考一考!Linux C语言思考题4道
挖到了!C语言中的5个小众知识点
libc.so.6小入门
这里20个C语言编程的核心要点你掌握吗?
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券