e="2">Ïà¹Øº¯Êý | scanf£¬fscanfVcgLinuxÁªÃË
|
±íÍ·Îļþ | #include<stdio.h>VcgLinuxÁªÃË
|
¶¨Ò庯Êý | int sscanf (const char *str,const char * format,........);VcgLinuxÁªÃË
|
º¯Êý˵Ã÷ | sscanf()»á½«²ÎÊýstrµÄ×Ö·û´®¸ù¾Ý²ÎÊýformat×Ö·û´®À´×ª»»²¢¸ñʽ»¯Êý¾Ý¡£¸ñʽת»»ÐÎʽÇë²Î¿¼scanf()¡£×ª»»ºóµÄ½á¹û´æÓÚ¶ÔÓ¦µÄ²ÎÊýÄÚ¡£VcgLinuxÁªÃË
|
·µ»ØÖµ | ³É¹¦Ôò·µ»Ø²ÎÊýÊýÄ¿£¬Ê§°ÜÔò·µ»Ø-1£¬´íÎóÔÒò´æÓÚerrnoÖС£VcgLinuxÁªÃË
|
·¶Àý | #include<stdio.h>VcgLinuxÁªÃË main()VcgLinuxÁªÃË {VcgLinuxÁªÃË int i;VcgLinuxÁªÃË unsigned int j;VcgLinuxÁªÃË char input[ ]=¡±10 0x1b aaaaaaaa bbbbbbbb¡±;VcgLinuxÁªÃË char s[5];VcgLinuxÁªÃË sscanf(input,¡±%d %x %5[a-z] %*s %f¡±,&i,&j,s,s);VcgLinuxÁªÃË printf(¡°%d %d %sn¡±,i,j,s);VcgLinuxÁªÃË }VcgLinuxÁªÃË
|
Ö´ÐÐ | 10 27 aaaaaVcgLinuxÁªÃË
|
| ¡¡ |
VcgLinuxÁªÃË
| VcgLinuxÁªÃË vfprintf£¨¸ñʽ»¯Êä³öÊý¾ÝÖÁÎļþ£© |
Ïà¹Øº¯Êý | printf£¬fscanf£¬fprintfVcgLinuxÁªÃË
|
±íÍ·Îļþ | #include<stdio.h>VcgLinuxÁªÃË #include<stdarg.h>VcgLinuxÁªÃË
|
¶¨Ò庯Êý | int vfprintf(FILE *stream,const char * format,va_list ap);VcgLinuxÁªÃË
|
º¯Êý˵Ã÷ | vfprintf()»á¸ù¾Ý²ÎÊýformat×Ö·û´®À´×ª»»²¢¸ñʽ»¯Êý¾Ý£¬È»ºó½«½á¹ûÊä³öµ½²ÎÊýstreamÖ¸¶¨µÄÎļþÖУ¬Ö±µ½³öÏÖ×Ö·û´®½áÊø(¡¯ ¡¯)Ϊֹ¡£¹ØÓÚ²ÎÊýformat×Ö·û´®µÄ¸ñʽÇë²Î¿¼printf()¡£va_listÓ÷¨Çë²Î¿¼¸½Â¼C»òvprintf()·¶Àý¡£VcgLinuxÁªÃË
|
·µ»ØÖµ | ³É¹¦Ôò·µ»ØÊµ¼ÊÊä³öµÄ×Ö·ûÊý£¬Ê§°ÜÔò·µ»Ø-1£¬´íÎóÔÒò´æÓÚerrnoÖС£VcgLinuxÁªÃË
|
·¶Àý | ²Î¿¼fprintf()¼°vprintf()¡£VcgLinuxÁªÃË
|
| ¡¡ |
VcgLinuxÁªÃË
| VcgLinuxÁªÃË vfscanf£¨¸ñʽ»¯×Ö·û´®ÊäÈ룩 |
Ïà¹Øº¯Êý | scanf£¬sscanf£¬fscanfVcgLinuxÁªÃË
|
±íÍ·Îļþ | #include<stdio.h>VcgLinuxÁªÃË
|
¶¨Ò庯Êý | int vfscanf(FILE * stream,const char * format ,va_list ap);VcgLinuxÁªÃË
|
º¯Êý˵Ã÷ | vfscanf()»á×Ô²ÎÊýstream µÄÎļþÁ÷ÖжÁÈ¡×Ö·û´®£¬ÔÙ¸ù¾Ý²ÎÊýformat×Ö·û´®À´×ª»»²¢¸ñʽ»¯Êý¾Ý¡£¸ñʽת»»ÐÎʽÇë²Î¿¼scanf()¡£×ª»»ºóµÄ½á¹û´æÓÚ¶ÔÓ¦µÄ²ÎÊýÄÚ¡£va_listÓ÷¨Çë²Î¿¼¸½Â¼C »òvprintf()¡£VcgLinuxÁªÃË
|
·µ»ØÖµ | ³É¹¦Ôò·µ»Ø²ÎÊýÊýÄ¿£¬Ê§°ÜÔò·µ»Ø-1£¬´íÎóÔÒò´æÓÚerrnoÖС£VcgLinuxÁªÃË
|
·¶Àý | ²Î¿¼fscanf()¼°vprintf()¡£VcgLinuxÁªÃË
|
| ¡¡ |
VcgLinuxÁªÃË
| VcgLinuxÁªÃË vprintf£¨¸ñʽ»¯Êä³öÊý¾Ý£© |
Ïà¹Øº¯Êý | printf£¬vfprintf£¬vsprintfVcgLinuxÁªÃË
|
±íÍ·Îļþ | #include<stdio.h>VcgLinuxÁªÃË #include<stdarg.h>VcgLinuxÁªÃË
|
¶¨Ò庯Êý | int vprintf(const char * format,va_list ap);VcgLinuxÁªÃË
|
º¯Êý˵Ã÷ | vprintf()×÷ÓúÍprintf()Ïàͬ£¬²ÎÊýformat¸ñʽҲÏàͬ¡£va_listΪ²»¶¨¸öÊýµÄ²ÎÊýÁУ¬Ó÷¨¼°·¶ÀýÇë²Î¿¼¸½Â¼C¡£VcgLinuxÁªÃË
|
·µ»ØÖµ | ³É¹¦Ôò·µ»ØÊµ¼ÊÊä³öµÄ×Ö·ûÊý£¬Ê§°ÜÔò·µ»Ø-1£¬´íÎóÔÒò´æÓÚerrnoÖС£VcgLinuxÁªÃË
|
·¶Àý | #include<stdio.h>VcgLinuxÁªÃË #include<stdarg.h>VcgLinuxÁªÃË int my_printf( const char *format,¡¡)VcgLinuxÁªÃË {VcgLinuxÁªÃË va_list ap;VcgLinuxÁªÃË int retval;VcgLinuxÁªÃË va_start(ap,format);VcgLinuxÁªÃË printf(¡°my_printf( ):¡±);VcgLinuxÁªÃË retval = vprintf(format,ap);VcgLinuxÁªÃË va_end(ap);VcgLinuxÁªÃË return retval;VcgLinuxÁªÃË }VcgLinuxÁªÃË main()VcgLinuxÁªÃË {VcgLinuxÁªÃË int i = 150,j = -100;VcgLinuxÁªÃË double k = 3.14159;VcgLinuxÁªÃË my_printf(¡°%d %f %xn¡±,j,k,i);VcgLinuxÁªÃË my_printf(¡°%2d %*dn¡±,i,2,i);VcgLinuxÁªÃË }VcgLinuxÁªÃË
|
Ö´ÐÐ | my_printf() : -100 3.14159 96VcgLinuxÁªÃË my_printf() : 150 150VcgLinuxÁªÃË
|
| ¡¡ |
VcgLinuxÁªÃË
| VcgLinuxÁªÃË vscanf£¨¸ñʽ»¯×Ö·û´®ÊäÈ룩 |
Ïà¹Øº¯Êý | vsscanf£¬vfscanfVcgLinuxÁªÃË
|
±íÍ·Îļþ | #include<stdio.h>VcgLinuxÁªÃË #include<stdarg.h>VcgLinuxÁªÃË
|
¶¨Ò庯Êý | int vscanf( const char * format,va_list ap);VcgLinuxÁªÃË
|
º¯Êý˵Ã÷ | vscanf()»á½«ÊäÈëµÄÊý¾Ý¸ù¾Ý²ÎÊýformat×Ö·û´®À´×ª»»²¢¸ñʽ»¯Êý¾Ý¡£¸ñʽת»»ÐÎʽÇë²Î¿¼scanf()¡£×ª»»ºóµÄ½á¹û´æÓÚ¶ÔÓ¦µÄ²ÎÊýÄÚ¡£va_listÓ÷¨Çë²Î¿¼¸½Â¼C»òvprintf()·¶Àý¡£VcgLinuxÁªÃË
|
·µ»ØÖµ | ³É¹¦Ôò·µ»Ø²ÎÊýÊýÄ¿£¬Ê§°ÜÔò·µ»Ø-1£¬´íÎóÔÒò´æÓÚerrnoÖС£VcgLinuxÁªÃË
|
·¶Àý | Çë²Î¿¼scanf()¼°vprintf()¡£VcgLinuxÁªÃË
|
| ¡¡ |
VcgLinuxÁªÃË
| VcgLinuxÁªÃË vsprintf£¨¸ñʽ»¯×Ö·û´®¸´ÖÆ£© |
Ïà¹Øº¯Êý | vnsprintf£¬vprintf£¬snprintfVcgLinuxÁªÃË
|
±íÍ·Îļþ | #include<stdio.h>VcgLinuxÁªÃË
|
¶¨Ò庯Êý | int vsprintf( char * str,const char * format,va_list ap);VcgLinuxÁªÃË
|
º¯Êý˵Ã÷ | vsprintf()»á¸ù¾Ý²ÎÊýformat×Ö·û´®À´×ª»»²¢¸ñʽ»¯Êý¾Ý£¬È»ºó½«½á¹û¸´ÖƵ½²ÎÊýstrËùÖ¸µÄ×Ö·û´®Êý×飬ֱµ½³öÏÖ×Ö·û´®½áÊø(¡¯ ¡¯)Ϊֹ¡£¹ØÓÚ²ÎÊýformat×Ö·û´®µÄ¸ñʽÇë²Î¿¼printf()¡£va_listÓ÷¨Çë²Î¿¼¸½Â¼C»òvprintf()·¶Àý¡
|
|
|