hur.cn - 华软网

 热门搜索

可变参数的函数要怎么写?

  作者:未知    来源:网络    更新时间:2011/5/21
如题,我想实现一个和cstring.format()相同的函数(函数名:getLength)

C++">//伪代码
int getLength(cstring formatText,arg1,arg2,arg3,...){
    cstring innerText;
    //怎么把参数formatText,arg1,arg2,arg3,...格式化后,覆给innerText;
    return innerText.getlength();
}

//调用getLength
int len=getLength("%d%s%s",1,"22","333");len为6;

---华软 网友回答---
printf函数的实现
---华软网友回复---
看楼主似乎是想格式化串后求得其串长返回.
如果楼主是完全自己实现格式化和求串长的,那么就得像1楼说的,要参考下那些API的实现了.

如果不是完全自己实现的话,在内部调用 sprintf类似的函数格式化后,再用strlen类似的函数求得串长即可

---华软网友回复---
有专门的写法,几年没有用了。只是大概记得有个 VA_LIST 之类的东西。
---华软网友回复---
可以在msdn上搜索VA_START,VA_END,应该有例子
---华软网友回复---
_stprintf(...);      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。