![]() |
1
3
你是对的-你不能把额外的参数塞进
…并要求来电者:
如果可以使用gcc扩展,则可以使用“语句表达式”来消除
|
![]() |
2
1
除了弄清楚variadic列表如何在封面下工作(从而使代码不可移植)之外,没有办法修改参数。 但我有一个想法,可能会奏效,也可能不会奏效。我没有测试过它,因为我真的认为你不应该使用它,但是,如果你下定决心这样做,它可能会有所帮助。 因为您只想扫描字符数,所以应该意识到 不要 必须与调用方变量的实际设置同时进行。 让代码扫描字符串以根据调用方的需要设置参数。根本不需要改变。 下一个阶段是稍微棘手的阶段。
数一数
然后添加一个
然后,使用新的格式字符串,使用垃圾缓冲区(重复)接收 全部的 扫描值,包括最后一个(字符计数)。 类似这样的事情(调试的责任是你的):
如果你决定试一试的话,我会很感兴趣的。这是我的工作(和责任)。我很乐意把链锯卖给你,但如果你在使用的时候把腿锯断了,那就是你的问题了:—) |
![]() |
3
0
您错误地调用了函数,请查看
if(newSscanf(&str, "%d", &fooInt) != 1) { // error handling } |
![]() |
Iliketoproveit · MATLAB函数中的变量参数对 6 年前 |
![]() |
jetstream · 变量参数和函数指针向量 7 年前 |
![]() |
WrathOfFlame · 解压缩函数调用的参数数组 7 年前 |
![]() |
flawr · 如何编写输出参数数目可变的匿名函数? 7 年前 |
![]() |
Tyler Jackson · 子类中变量函数特化的定义 7 年前 |
|
Brave Shine · Lisp&rest参数和递归调用 7 年前 |