C ÓïÑÔÖÐÇå¿ÕÊäÈ뻺³åÇø
CÓïÑÔÖÐÓм¸¸ö»ù±¾ÊäÈ뺯Êý£º
//»ñÈ¡×Ö·ûϵÁÐ
int fgetc(FILE *stream);
int getc(FILE *stream);
int getchar(void);
//»ñÈ¡ÐÐϵÁÐ
char *fgets(char * restrict s, int n, FILE * restrict stream);
char *gets(char *s);//¿ÉÄܵ¼ÖÂÒç³ö£¬ÓÃfgets´úÌæÖ®¡£
//¸ñʽ»¯ÊäÈëϵÁÐ
int fscanf(FILE * restrict stream, const char * restrict format, …);
int scanf(const char * restrict format, …);
int sscanf(const char * restrict str, const char * restrict format, …);
ÕâÀï½öÌÖÂÛÊäÈ뺯ÊýÔÚ±ê×¼ÊäÈ루stdin£©Çé¿öϵÄʹÓá£×ݹÛÉÏÊö¸÷ÊäÈ뺯Êý£¬»ñÈ¡×Ö·ûϵÁеĵÄÇ°Èý¸öº¯Êýfgetc¡¢getc¡¢getchar¡£ÒÔgetcharΪÀý£¬½«ÔÚstdin»º³åÇøΪ¿Õʱ£¬µÈ´ýÊäÈ룬ֱµ½»Ø³µ»»ÐÐʱº¯Êý·µ»Ø¡£Èôstdin»º³åÇø²»Îª¿Õ£¬getcharÖ±½Ó·µ»Ø¡£getchar·µ»Øʱ´Ó»º³åÇøÖÐÈ¡³öÒ»¸ö×Ö·û£¬²¢½«Æäת»»Îªint£¬·µ»Ø´ËintÖµ¡£
MINGW 4.4.3ÖÐFILE½á¹¹ÌåÔ´Â룺
typedef struct _iobuf
{
char* _ptr;//Ö¸Ïòµ±Ç°»º³åÇø¶ÁȡλÖÃ
int _cnt;//»º³åÇøÖÐÊ£ÓàÊý¾Ý³¤¶È
char* _base;
int _flag;
int _file;
int _charbuf;
int _bufsiz;
char* _tmpfname;
} FILE;
¸÷±àÒëÆ÷ʵÏÖ¿ÉÄܲ»Ò»Ñù£¬ÕâÀï»ñÈ¡×Ö·ûϵÁк¯ÊýÖ»Óõ½_ptrºÍ_cnt¡£MINGW 4.4.3ÖÐgetchar()ʵÏÖ£º
__CRT_INLINE int __cdecl __MINGW_NOTHROW getchar (void)
{
return (--stdin->_cnt >= 0)
? (int) (unsigned char) *stdin->_ptr++
: _filbuf (stdin);
}
ÆäÖÐstdinΪFILEÖ¸ÕëÀàÐÍ£¬ÔÚMINGW 4.4.3ÖУ¬getc()ºÍgetchar()ʵÏÖΪÄÚÁªº¯Êý£¬fgetc()ʵÏÖΪº¯Êý¡£Ë³±ã˵һ¾ä£¬C99±ê×¼ÖÐÒѾ¼ÓÈë¶ÔÄÚÁªº¯ÊýµÄÖ§³ÖÁË¡£
»ñÈ¡ÐÐϵÁеÄfgetsºÍgets£¬ÆäÖÐÓÉÓÚgetsÎÞ·¨È·¶¨»º³åÇø´óС£¬³£µ¼ÖÂÒç³öÇé¿ö£¬ÕâÀï²»ÍƼöÒ²²»ÌÖÂÛgetsº¯Êý¡£¶ÔÓÚfgetsº¯Êý£¬Ã¿´ÎÇÃÈë»Ø³µ£¬fgets¼´·µ»Ø¡£fgets³É¹¦·µ»Øʱ£¬½«ÊäÈ뻺³åÇøÖеÄÊý¾ÝÁ¬»»Ðзû’ ’Ò»Æ𿽱´µ½µÚÒ»¸ö²ÎÊýËùÖ¸ÏòµÄ¿Õ¼äÖС£ÈôÊäÈëÊý¾Ý³¬¹ý»º³åÇø³¤¶È£¬fgets»á½ØÈ¡Êý¾Ýµ½Ç°n-1£¨nΪfgetsµÚ¶þ¸ö²ÎÊý£¬ÎªµÚÒ»¸ö²ÎÊýÖ¸Ïò¿Õ¼äµÄ³¤¶È£©£¬È»ºóÔÚĩβ¼ÓÈë’ ’¡£Òò´ËfgetsÊÇ°²È«µÄ¡£Í¨³£ÓÃfgets(buf, BUF_LEN, stdin);´úÌægets(buf);¡£
¸ñʽ»¯ÊäÈëϵ
Ïà¹ØÎĵµ£º
¹Ø¼üµÄʱ¿Ì - MFC Or Not
ÔÚSymantec C/C++ºÍWatcom C/C++Öð½¥µØÕ¾ÎÈÁ˽Ų½Ö®ºó£¬ËÄ´ó±àÒëÆ÷¾öÕ½µÄʱ¿ÌÒ²Ö𽥱ƽüÁË¡£ÔÚ1994ÄêδµÄ¾öս֮ǰ£¬SymantecºÍWatcomͬʱÃæ¶ÔÁËÒ»¸ö·Ç³£ÑÏÀ÷µÄ¿¼Ñ飬ÄǾÍÊÇC/C++ FrameworkµÄÑ¡Ôñ¡£ËäÈ»SymantecºÍWatcom¶¼ÒÔ¸÷×ÔµÄÌØÉ«Õ¼µÃÁËÊг¡£¬²»¹ýÔÚµ±Ê±¶ÔÓÚÒ»¸öC/C++¿ª·¢¹¤¾ßÀ´Ëµ£¬×îÖØÒªµÄÒ ......
×î½üÔÚ¿´¡¶c³ÌÐòÉè¼ÆÓïÑÔ¡·£¬¾ÍÊÇÄDZ¾±»ÓþΪCÓïÑÔÊ¥¾µÄÊé¼®¡£¼¸Ìì¿´ÁËÒ»Õ£¬¸Ð´¥ºÜ´ó£¬¿ªÆª¾ÍÉæ¼°µ½ºÜ¶àʵÓóÌÐò£¬²»ÏñÌ·ºÆÇ¿ÄÇÑùÈÃÈËÉîÏÝÓ﷨ϸ½ÚÖ®ÖУ¬¶øÇÒѧÍêÌ·µÄÊé¸Ð¾õʲô¶¼²»ÄÜ×ö¡£ºÜ¶àÎÊÌâÌ·¶¼»Ø±ÜÁË¡£Ëùνרҵ¿´¿´c³ÌÐòÉè¼ÆÓïÑԵĴúÂëµÄ·ç¸ñ¾ÍÄܸÐÊܵ½£¬Ò»ÖÖ¾«Ðĵñ×ÁµÄÒÕÊõÆ·¡£µÚÒ»ÕÂÓÐ ......
Ç°Ììдһ¸öС³ÌÐò, ͻȻ·¢ÏÖÆäʵżµÄCѧµÄ²»ÔõôÑù°¡£¬ºÃ¶àº¯Êý¶¼²»¼ÇµÃ£¬ÔÚÍøÉÏËѵ½µÄ¶¼ÊÇЩÂÒÆß°ËÔãµÄ£¬Ã»ÓÐÔÐÍ£¬ÓÃÆðÀ´²»·ÅÐÄ£¬ÓãÅÎÄËÑ£¬Ëѵ½ÕæÕýµÄBible——
The GNU C Library Manual
ÕâÀïÃæÌ«È«ÁË£¬Ö»ÊÇÓÐÒ»µã²»Ì«ºÃ£¬£ÅÎĵģ¬¶ÁÆðÀ´ÓеãÂý£¬¸Ð¾õÓеãÀË·Ñʱ¼ä
ÓãÃдÁ˶ÎС³ÌÐò°ÑÒ»¸öÎå±ÊÂëÎı¾Îĵµ×ª ......
1.ÇóÏÂÃ溯ÊýµÄ·µ»ØÖµ£¨Î¢Èí£©
int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x = x&(x-1);
}
......