doc文档 va-list、va-start、va-arg、va-end宏的使用

专业资料 > IT&计算机 > 电脑基础知识 > 文档预览
5 页 463 浏览 14 收藏 4.8分

摘要:当你的函数的参数个数不确定时,就可以使用上述宏进行动态处理,这无疑为你的程序增加了灵活性。Example:CStringAppendString(CStringstr1,...)//一个连接字符串的函数,参数个数可以动态变化{LPCTSTRstr=str1;//str需为指针类型,因为va_arg宏返回的是你的参数的指针,但是如果你的参数为int等简单类型,则不必为指针,因为变量名实际上即是指针。CStringres;va_listmarker;//你的类型链表va_start(marker,str1);//初始化你的marker链表while(str!="ListEnd")//ListEnd:参数的结束标志,十分重要,在实际中需自行指定{res+=str;str=va_arg(marker,CString);//取得下一个指针}va_end(marker);//结束,与va_start合用returnres;}intmain(){CStringstr=AppendString("xu","zhi","hong","ListEnd");cout<<str.GetBuffer(str.GetLength())<<endl;return0;}输出xuzhihongCStringAppendString(CStringstr1,...),因为连接字符串的参数可以动态变化,你不知用户要进行连接的字符串个数是多少,所以你可以用…来代替。但是要注意的是你的函数要有一个参数作为标志来表示结束,否则会出错。在上例中用ListEnd作为结束符。还有va_arg返回的是你参

温馨提示:当前文档最多只能预览 5 页,若文档总页数超出了 5 页,请下载原文档以浏览全部内容。
本文档由 匿名用户2022-09-03 23:15:34上传分享
你可能在找
  • 当你的函数的参数个数不确定时,就可以使用上述宏进行动态处理,这无疑为你的程序增加了灵活性。Example:CStringAppendString(CStringstr1,...) //一个连接字符串的函数,参数个数可以动态变化{LPCTSTRstr=str1;//str需为指针类型,因为va_arg宏返回的是你的参数的指针,但是如果你的参数为int等简单类型,则不必为指针,因为变量名实际上即是指针 CStringres;va_listmarker;//你的类型链表va_start(marker,str1);//初始化你的marker链表while(str!
    4.9 分 5 页 | 29.00 KB
  • {/******Step1******/va_listap;va_start(ap,para3);//一定要“...”之前的那个参数**ap指向para后的第一个可变参数。 /******Step2******///此时ap指向第一个可变参数//调用va_arg取得里面的值Typexx=va_arg(ap,Type);//Type一定要相同,如://char*p=va_arg (ap,char*);//inti=va_arg(ap,int);//如果有多个参数继续调用va_arg/******Step3******/va_end(ap);//Forrobust!}
    4.9 分 6 页 | 33.00 KB
  • {/******Step1******/va_listap;va_start(ap,para3);//一定要“...”之前的那个参数**ap指向para后的第一个可变参数。 /******Step2******///此时ap指向第一个可变参数//调用va_arg取得里面的值Typexx=va_arg(ap,Type);//Type一定要相同,如://char*p=va_arg (ap,char*);//inti=va_arg(ap,int);//如果有多个参数继续调用va_arg/******Step3******/va_end(ap);//Forrobust!}
    4.7 分 6 页 | 33.00 KB
  • VA_LIST是在C语言中解决变参问题的一组宏VA_LIST的用法:(1)首先在函数里定义一具VA_LIST型的变量,这个变量是指向参数的指针(2)然后用VA_START宏初始化变量刚定义的VA_LIST 变量,这个宏的第二个参数是第一个可变参数的前一个参数,是一个固定的参数。 (3)然后用VA_ARG返回可变的参数,VA_ARG的第二个参数是你要返回的参数的类型。(4)最后用VA_END宏结束可变参数的获取。然后你就可以在函数里使用第二个参数了。
    4.9 分 5 页 | 23.50 KB
  • UPS容量单位VA和W的区别•瓦特W值和VA值的关系•UPS制造商用W表示容量,实际上指的是VA值•大多数计算机设备用VA表示容量、VA值表示额定•举例•后备式UPS•在线式UPS•在线互动式UPSUPS 容量VA和W的区别很多人搞不清楚应该用瓦牡学应该用伏安来表示UPS的容量。 小容量的UPS(小于1000VA)用W表示容量,容量在1KVA ̄500KVA的UPS都用VA而不是W来表示容量。
    4.7 分 7 页 | 24.50 KB
  • DuØA,vA!D(NAFLD)Œ¼ƒmgÇ5ZNA!D,¶î‡ˆ¬N­Ù0«¡xŒ°±æ®。œŒNAFLD0_:’A„sU,Û¶«¡Žçqi2s,âpûj¯°†Õ。 ƒÈ<=°±Gñ±êeƒ«¡i28ü¢Ùܨ넜v,L¦8û©”NAFLD“þƒ(ŸA,vA!D(MAFLD)。 :#$%DuØA,vA!D;(ŸA,vA!D;:’A&'()*R575.5+,-.
    4.7 分 4 页 | 896.07 KB
  • IPS硬屏与VA软屏(三星S-PVA/台湾友达MVA等)全PK市面上的液晶屏可分为三类:IPS屏、VA屏和CPA屏(ASV屏),这三种屏幕的代表厂商分别是LG(原LPL)、三星SDI/台湾友达,以及日本的夏普 由于采用夏普CPA技术的厂商数量较少,因此液晶电视面板上主流的屏幕种类还是IPS和VA两种。如果我们用手指轻轻压一下VA屏幕的表面,就会发现手指周围会产生类似水波纹状图案,并产生一种下陷的感觉。 而按压IPS屏幕的时候,手指周围的屏幕并不会有太大变化,而且也没有下陷的感觉,感觉较为坚实。在液晶电视面板的液态晶体层,液晶分子都会按照一定的顺序排列。
    4.8 分 6 页 | 290.05 KB
  • ¾¿¹,¤u¥YÿI0™š“”,DuØA,vA!D(NAFLD)07Dj•¿›11•Ê¼ƒNA!D0­vDU45。U¥¡-BŸ-uÖɦ¢I02Â,BŸšD¤œ~šD0{|ijbŽ¦80Â^。 :#$%DuØA,vA!D;ž;£¤;sðñ§¥¡b:::()&'()*R575.5+,-.
    4.7 分 4 页 | 992.78 KB
  • DuØA,vA!D(NAFLD)ûÕ=‹ƒ(Ÿ#$%0/vb¼Cv,t84íNj’0‡A。…i°±õªvôÈNAFLDûÕ=‹4í0‡V。Á)Èt84íL›{|0CR…§¨。 :#$%DuØA,vA!D;Õ=‹;~¦:::()&'()*R575.5+,-./A+01*1001-5256202011-2584-05Associationbetweenhypertens
    4.9 分 5 页 | 943.67 KB
  • 消防水池的设置要求(1)当室外给水管网能保证室外消防用水量时,消防水池的有效容量应满足在火灾延续时间内建(构)筑物室内消防用水量的要求。 (2)当室外给水管网不能保证室外消防用水量时,消防水池的有效容量应满足在火灾延续时间内建(构)筑物室内消防用水量和室外消防用水不足部分之和的要求。 (3)消防水池容积大于500m3时,宜设两格能独立使用的消防水池。消防水池容积大于1000m3时,应分设成两个能独立使用的消防水池。
    3.0 分 3 页 | 12.86 KB
本站APP下载(扫一扫)
活动:每周日APP免费下载全站文档
本站APP下载
热门文档