Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

´Óprintf()̸c/c++Öпɱä²ÎÊýº¯ÊýµÄʵÏÖ


´Óprintf̸¿É±ä²ÎÊýº¯ÊýµÄʵÏÖ ×ªÌù
Ô­ÎÄ×÷ÕߣºÈÖÑÇÐÂ
ÕªÒª£ºÒ»Ö±ÒÔÀ´¶¼¾õµÃprintfËÆºõÊÇcÓïÑÔ¿âÖй¦ÄÜ×îÇ¿´óµÄº¯ÊýÖ®Ò»£¬²»½öÒòΪËüÄܸñʽ»¯Êä³ö£¬¸üÔÚÓÚËüµÄ²ÎÊý¸öÊýûÓÐÏÞÖÆ£¬Òª¼¸¸ö¾Í¸ø¼¸¸ö£¬À´Õß²»¾Ü¡£printfÕâÖÖ¶Ô²ÎÊý¸öÊýºÍ²ÎÊýÀàÐ͵ÄÇ¿´óÊÊÓ¦ÐÔ£¬ÈÃÈ˲úÉúÁ˶ÔËü½øÐÐ̽Ë÷µÄŨºñÐËȤ¡£
¹Ø¼ü×Ö£ºprintf, ¿É±ä²ÎÊý
1. ʹÓÃÇéÐÎ
int a =10;
double b = 20.0;
char *str = "Hello world";
printf("begin print\n");
printf("a=%d, b=%.3f, str=%s\n", a, b, str);
...
¡¡¡¡´ÓprintfµÄʹÓÃÇé¿öÀ´¿´£¬ÎÒÃDz»ÄÑ·¢ÏÖÒ»¸ö¹æÂÉ£¬¾ÍÊÇÎÞÂÛÆä¿É±äµÄ²ÎÊýÓжàÉÙ¸ö£¬printfµÄµÚÒ»¸ö²ÎÊý×ÜÊÇÒ»¸ö×Ö·û´®¡£¶øÕýÊÇÕâµÚÒ»¸ö²ÎÊý£¬Ê¹µÃËü¿ÉÒÔÈ·ÈϺóÃæ»¹ÓÐÓжàÉÙ¸ö²ÎÊýÎ²Ëæ¡£¶øÎ²ËæµÄÿ¸ö²ÎÊýÕ¼ÓõÄÕ»¿Õ¼ä´óСÓÖÊÇͨ¹ýµÚÒ»¸ö¸ñʽ×Ö·û´®È·¶¨µÄ¡£È»¶øprintfµ½µ×ÊÇÔõÑùÈ¡µÚÒ»¸ö²ÎÊýºóÃæµÄ²ÎÊýÖµµÄÄØ£¬Çë¿´ÈçÏ´úÂë
2. printf º¯ÊýµÄʵÏÖ
//acenv.h
typedef char *va_list;
#define  _AUPBND        (sizeof (acpi_native_int) - 1)
#define  _ADNBND        (sizeof (acpi_native_int) - 1)
                       
#define _bnd(X, bnd)    (((sizeof (X)) + (bnd)) & (~(bnd)))
#define va_arg(ap, T)   (*(T *)(((ap) += (_bnd (T, _AUPBND))) - (_bnd (T,_ADNBND))))
#define va_end(ap)      (void) 0
#define va_start(ap, A) (void) ((ap) = (((char *) &(A)) + (_bnd (A,_AUPBND))))
//start.c
static char sprint_buf[1024];
int printf(char *fmt, ...)
{
        va_list args;
        int n;
        va_start(args, fmt);
        n = vsprintf(sprint_buf, fmt, args);
        va_end(args);
        write(stdout, sprint_buf, n);
        return n;
}
//unistd.h
stati


Ïà¹ØÎĵµ£º

»ªÎªC/C++±ÊÊÔÌâ(¸½´ð°¸)

http://www.teecool.com/post/2007081104.html
ÄÚÈÝÕªÒª£º1.д³öÅжÏABCDËĸö±í´ïʽµÄÊÇ·ñÕýÈ·, ÈôÕýÈ·, д³ö¾­¹ý±í´ïʽÖÐ aµÄÖµ(3·Ö)
int a = 4;
(A)a += (a++); (B) a += (++a) ;(C) (a++) += a;(D) (++a) += (a++);
¹Ø¼ü´Ê£ºCÓïÑÔÃæÊÔÌâ  C++ÃæÊÔÌâ  »ªÎªÃæÊÔÌâ  
±¾ÎĵØÖ·£ºhttp:// ......

CºÍÖ¸Õëѧϰ±Ê¼Ç £¨1£©

CºÍÖ¸Õëѧϰ±Ê¼Ç £¨1£©
       µÚ¶þÕ »ù±¾ÖªÊ¶
»·¾³£º·ÖΪ·­ÒëºÍÖ´ÐÐ2¸ö¹ý³Ì¡£ÆäÖз­Òë¿ÉÒÔÀí½âΪÊÇÒ»¸ö´Ó³ÌÐò—Ä¿±ê´úÂë—Á´½ÓÆ÷µÄ¹ý³Ì¡£±àÒë¹ý³ÌÓУº
1Ô¤´¦ÀíÆ÷£º´¦Àí#define #includeÕâÒ»Àà´úÂëµÄ¹ý³Ì£»
2Ô´´úÂë½âÎö£º²úÉú´íÎóºÍ¾¯¸æ£»
3ÓÅ»¯Æ÷£ºÓÐÀûÓÚÓÅ»¯´úÂ룬Ìá¸ßЧ ......

¡¾C\C++ÓïÑÔÈëÃÅÆª¡¿ HelloWorld˼¿¼

µÚһƪÎÄÕÂÖÕÓÚÂä±ÊÁË£¬±¾ÎĽ«´Ó˼¿¼µÄ½Ç¶ÈÈ¥ÖØÐÂÈÏʶһÏÂHelloworld¡£ÔÚÀý×ÓÖ®ºó»áÌá³ö²»Í¬µÄÎÊÌ⣬Òýµ¼´ó¼Òȥ˼¿¼Ã¿Ò»¾äÄËÖÁÿ¸öϸ½Ú¡£Í¬Ê±Ï£ÍûÄܹ»Èôó¼ÒÒÔºóÄܹ»ÒÔ²»¶Ï˼¿¼²»¶ÏÌáÎʵķ½Ê½È¥¿´´ý×Ô¼ºµÄ³ÌÐò¡£ÎÒÏàÐÅ´ó¼Ò»á·¢ÏֺܶàÐµĶ«Î÷£¬ºÃÁËÇÐÈëÕýÌâ¡£
ÎÒÃÇÿѧһÖÖеÄÓïÑÔ»ù±¾¶¼»á´Óhelloworld¿ªÊ¼£¬»ù±¾Ã¿ÖÖÓïÑÔ ......

[¼¼Êõѧϰ]C++ XML¿â£¨×ªÔØ£©

ÔÚC++ÖУ¬¿âµÄµØÎ»ÊǷdz£¸ßµÄ¡£C++Ö®¸¸ Bjarne StroustrupÏÈÉú¶à´Î±íʾÁËÉè¼Æ¿âÀ´À©³ä¹¦ÄÜÒªºÃ¹ýÉè¼Æ¸ü¶àµÄÓï·¨µÄÑÔÂÛ¡£ÏÖʵÖУ¬C++µÄ¿âÃÅÀà·±¶à£¬½â¾öµÄÎÊÌâÒ²ÊǼ«Æä¹ã·º£¬¿â´ÓÇáÁ¿¼¶µ½ÖØÁ¿¼¶µÄ¶¼ÓС£²»ÉÙ¶¼ÊÇÈÃÈËÑÛ½ç´ó¿ª£¬Òà»òÊÇÍû¶øÉú̾µÄ˼ά½Ü×÷¡£ÓÉÓÚ¿âµÄÊýÁ¿·Ç³£ÅӴ󣬶øÇÒÏÞÓÚ±ÊÕßˮƽ£¬ÆäÖкܶಢ²»Á˽⡣ËùÒÔÎÄÖ ......

C/C++Êý×éÃûÓëÖ¸ÕëÇø±ðÉî²ã̽Ë÷

C/C++Êý×éÃûÓëÖ¸ÕëÇø±ðÉî²ã̽Ë÷
 
×÷ÕߣºËᦻª e-mail:21cnbao_AT_21cn.com [AT -> @]
1. ÒýÑÔ
Ö¸ÕëÊÇC/C++ÓïÑÔµÄÌØÉ«£¬¶øÊý×éÃûÓëÖ¸ÕëÓÐÌ«¶àµÄÏàËÆ£¬ÉõÖÁºÜ¶àʱºò£¬Êý×éÃû¿ÉÒÔ×÷ΪָÕëʹÓá£ÓÚÊǺõ£¬ºÜ¶à
³ÌÐòÉè¼ÆÕ߾ͱ»¸ãºýÍ¿ÁË¡£¶øÐí¶àµÄ´óѧÀÏʦ£¬ËûÃÇÔÚC ÓïÑԵĽÌѧ¹ý³ÌÖÐÒ²´íÎóµÃ¸øÑ§Éú½²½â£º“Êý ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ