我们知道va_list va_start va_arg va_end 用于处理函数变参,但是当不知道参数个数的时候,用va_arg来读是很危险的,所以怎么查找参数个数呢?我有个想法就是把整个参数list拷贝到一个string中,查找',' 从而知道参数个数,,但是用vsprintf读的时候第一个参数必须是‘char*’型,可如果是int型呢,总之暂时还没有实现,这种方法可以实现吗?有人实验过么?分享一下。
微信里点“发现”,扫一下
二维码便可将本文分享至朋友圈。
你看下 printf 的实现不就知道了。