C/C++²»¶¨²ÎÊýµÄÓ÷¨
C++²»¶¨²ÎÊýµÄÓ÷¨ £¨CÀàËÆ£©
2009-11-19 15:41
/*
va_list vl; //¶¨ÒåÒ»¸öÖ¸Ïò²ÎÊýÁбíµÄ±äÁ¿(Ò»¸ö...Ö¸Õë)
va_start(vl,first_param); //°ÑÖ¸Ïò²ÎÊýÁбíµÄ±äÁ¿³õʼ»¯
va_arg(vl,mode); //»ñÈ¡ÏÂÒ»¸ö²ÎÊý,²ÎÊýÀàÐÍÓɵڶþ¸ö²ÎÊýÖ¸¶¨,µÚ¶þ¸ö²ÎÊýÓÃÓÚÔÚva_argÄÚ²¿½øÐÐ³ß´ç¼ÆËã,ÒÔ±ãÕÒµ½ÏÂÒ»¸ö²ÎÊý
va_end(vl); //½áÊø
*/
#include <iostream>
#include <cstdarg> //Í·Îļþ°üº¬:C++ <cstdarg>; C <stdarg.h>
using namespace std;
void variable(int i,...)
{
int j=0;
va_list arg_ptr; //¶¨ÒåÒ»¸öÖ¸Ïò²ÎÊýÁбíµÄ±äÁ¿
va_start(arg_ptr,i); //°ÑÖ¸Ïò²ÎÊýÁбíµÄ±äÁ¿³õʼ»¯
while(j!=-1) //×Ô¶¨ÒåµÄÒ»¸ö²ÎÊý½áÊø±êÖ¾
{
j=va_arg(arg_ptr,int); //»ñÈ¡ÏÂÒ»¸ö²ÎÊý
printf("%d ",j);
}
va_end(arg_ptr); //½áÊø
}
int main()
{
variable(3,3,4,5,6,-1);
return 0;
}
Ò»¡¢Ê²Ã´Êǿɱä²ÎÊý
ÎÒÃÇÔÚCÓïÑÔ±à³ÌÖÐÓÐʱ»áÓöµ½Ò»Ð©²ÎÊý¸öÊý¿É±äµÄº¯Êý,ÀýÈçprintf()º¯Êý,Æäº¯ÊýÔÐÍΪ:
int printf( const char* format, ...);
Ëü³ýÁËÓÐÒ»¸ö²ÎÊýformat¹Ì¶¨ÒÔÍâ,ºóÃæ¸úµÄ²ÎÊýµÄ¸öÊýºÍÀàÐÍÊǿɱäµÄ£¨ÓÃÈý¸öµã"…"×ö²ÎÊýռλ·û£©,ʵ¼Êµ÷ÓÃʱ¿ÉÒÔÓÐÒÔϵÄÐÎʽ:
printf("%d",i);
printf("%s",s);
printf("the number is %d ,string is:%s", i, s);
ÒÔÉÏÕâЩ¶«Î÷ÒÑΪ´ó¼ÒËùÊìϤ¡£µ«ÊǾ¿¾¹ÈçºÎд¿É±ä²ÎÊýµÄCº¯ÊýÒÔ¼°ÕâЩ¿É±ä²ÎÊýµÄº¯Êý±àÒëÆ÷ÊÇÈçºÎʵÏÖ£¬Õâ¸öÎÊÌâÈ´Ò»Ö±À§ÈÅÁËÎҺþᣱ¾ÎľÍÕâ¸öÎÊÌâ½øÐÐһЩ̽ÌÖ,Ï£ÍûÄܶԴó¼ÒÓÐЩ°ïÖú.
¶þ¡¢¿É±ä²ÎÊýÔÚ±àÒëÆ÷ÖеĴ¦Àí
ÎÒÃÇÖªµÀva_start,va_arg,va_end ÊÇÔÚstdarg.hÖб»¶¨Òå³ÉºêµÄ, ÓÉÓÚ1)Ó²¼þƽ̨µÄ²»Í¬ 2)±àÒëÆ÷µÄ²»Í¬,ËùÒÔ¶¨ÒåµÄºêÒ²ÓÐËù²»Í¬,ÏÂÃæ¿´Ò»ÏÂVC++6.0ÖÐstdarg.hÀïµÄ´úÂ루ÎļþµÄ·¾¶ÎªVC°²×°Ä¿Â¼ÏµÄ\vc98 \include\stdarg.h£©
typedef char * va_lis
Ïà¹ØÎĵµ£º
1 ±à³Ì»ù´¡
1.1 »ù±¾¸ÅÄî
1. µÄÀí½â£ºconst char*, char const*, char*constµÄÇø±ðÎÊÌ⼸ºõÊÇC++ÃæÊÔÖÐÿ´Î ¶¼»áÓеÄÌâÄ¿¡£ ÊÂʵÉÏÕâ¸ö¸ÅÄî˶¼ÓÐÖ»ÊÇÈýÖÖÉùÃ÷·½Ê½·Ç³£ÏàËÆºÜÈÝÒ׼ǻ졣 Bja ......
Õû¸ö²âÊÔ×ñÑÒÔϵÄÔ¼¶¨£º
u
¼Ù¶¨ÔÚËùÓеijÌÐòÖбØÐëµÄÍ·Îļþ¶¼ÒѾ±»ÕýÈ·°üº¬¡£
¿¼ÂÇÈçϵÄÊý¾ÝÀàÐÍ£º
u
char
Ϊ
1
¸ö×Ö½Ú
u
int
Ϊ
4
¸ö×Ö½Ú
u
......
£¨×¢£¬±¾ÎÄÊÇ·ÒëµÄhttp://www.cprogramming.com/
ÉϵÄÎÄÕ Where C and C++ Differ
£©
C++»ùÓÚC£¬Ò²±£ÁôÁËCµÄ´ó²¿·ÖÌØÐÔ¡£µ«ÊÇÔÚÔ´Âë¼¶ÉÏÓÐЩµØ·½ÊÇÓëC²»¼æÈݵġ£
C³ÌÐòԱʹÓÃC++ʱµÄÏÝÚå
´Ó void* µÄÒþʽ·ÖÅä
²»ÄÜ´Ó void* ÒþʽµØ·ÖÅäµ½ÆäËûÈκÎÀàÐÍ¡£ÀýÈ磬ÏÂÃæµÄ´úÂëÔÚCÖÐÊǷdz£ÓÐЧµÄ¡£
in ......
pythonµÄC¡¢c++À©Õ¹
http://blog.chinaunix.net/u3/110228/showart_2148725.html
pythonµÄÇ¿´ó²»½ö±íÏÖÔÚÆä¹¦ÄÜÉÏ£¬¶øÇÒ»¹±íÏÖÔÚÆäÀ©Õ¹ÄÜÁ¦ÉÏ¡£
ʹÓÃC/C++ºÜÈÝÒ×±àдpythonµÄÄ£¿é£¬À©Õ¹pythonµÄ¹¦ÄÜ¡£
ͬʱ½«ÐÔÄÜÒªÇó±È½Ï¸ßµÄ´úÂëʹÓÃC/C++±àд£¬ÄܸüºÃµÄÃÖ²¹
½Å±¾ÓïÑÔÖ´ÐÐËÙ¶ÈÂýµÄȱÏÝ¡£
1. pythonµÄCÓïÑÔÀ©Õ¹
1.1 ......
×î½üÔÚ×ö³ÌÐòʱÐèҪʹÓÃÒ»¸öÒѾ±àºÃµÄC³ÌÐòÔ´Îļþ£¨ÓÐÍ·Îļþ£©£¬½«Í·Îļþ¼ÓÈëÒªµ÷ÓõÄÔ´ÎļþÖУ¬µ÷ÓÃÏàÓ¦Cº¯Êý£¬±àÒëʱ³öÏÖÈçÏ´íÎó£º
sss.c(3129) : fatal error C1010: unexpected end of file while looking for precompiled header directive
ÔÚÍøÉϲéÁËÏà¹Ø×ÊÁÏ£¬Ëµ²»ÄÜÔÚCÔ´ÎļþÖаüº¬"stdafx.h"Îļþ£¬
ÖªµÀÐèÒªÒ ......