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);¡£
¸ñʽ»¯ÊäÈëϵ
Ïà¹ØÎĵµ£º
CºÍÖ¸Õë
ÔÚCÖÐÓÐÒ»¸öºÜÖØÒªµÄ¸ÅÄ»òÐí´ó¼Ò¶¼ÖªµÀ£¬ÄǾÍÊÇÖ¸Õë¡£Ôںܶà³õѧÕ߸սӴ¥CµÄʱºò¶¼ÈÏΪÕâÊÇ×îÄѵÄ֪ʶµãÁË¡£Ã»´í£¬ÎÒ¸Õ¿ªÊ¼Ñ§µÄʱºòÒ²ÊÇÕâôÏëµÄ£¬ÉÏÁ˵ÚÒ»½Ú¿Îºó£¬µÚÒ»¸ÐÊܾÍÊÇ£ºÌì°¡£¬Õâ¼òÖ±¾ÍÊÇÌìÊ飡ÓÉÓÚ¸öÈ˶ÔÓÚCµÄ°®ºÃ£¬¾¹ýÒ»¶Îʱ¼äµÄѧϰºÍÑо¿Ö®ºó£¬·¢ÏÖÕâÒ»¿éÊÇÎÒ×îϲ»¶µÄ£¬²¢ÇÒÖð²½·¢ÏÖÕâÒ²ÊDZ¾È赀 ......
extern cµÄ×÷Óá¾×ª¡¿
2009-12-18 13:10
1.ÒýÑÔ
C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³Ì ʽÓïÑÔµÄÌØµã£¨±»ÊÀÈ˳ÆÎª“²»³¹µ×µØÃæÏò¶ÔÏ󔣩£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓ ......
1.ÇóÏÂÃæº¯ÊýµÄ·µ»ØÖµ£¨Î¢Èí£©
int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x = x&(x-1);
}
......
Turbo C 2.0 º¯ÊýÖÐÎÄ˵Ã÷´óÈ«
·ÖÀຯÊý,ËùÔÚº¯Êý¿âΪctype.h
int isalpha(int ch) ÈôchÊÇ×Öĸ('A'-'Z','a'-'z')·µ»Ø·Ç0Öµ,·ñÔò·µ»Ø0
int isalnum(int ch) ÈôchÊÇ×Öĸ('A'-'Z','a'-'z')»òÊý×Ö('0'-'9'),·µ»Ø·Ç0Öµ,·ñÔò·µ»Ø0
int isascii(int ch) ÈôchÊÇ×Ö·û(ASCIIÂëÖеÄ0-127)·µ»Ø·Ç0Öµ,·ñÔò·µ»Ø0
int iscntrl(int ......