±ê×¼Cº¯ÊýÖ® getchar
getcharº¯ÊýÊǶ¨ÒåÔÚ stdio.h ÎļþÖеÄÒ»¸öÊäÈ뺯Êý¡£Ëü´Ó±ê×¼ÊäÈëÉ豸£¨Ò»°ãÊǼüÅÌ£©ÖжÁȡһ¸ö×Ö·û¡£
ÔÚʵ¼Ê¹¤×÷ÖУ¬ËüÊÇÕâÑùÍê³ÉµÄ£º
¼üÅÌÊäÈëµ½¼ÆËã»úÖеÄ×Ö·û²¢²»ÊÇÁ¢¿ÌË͵½ÄÚ´æÖÐÖ¸¶¨Î»Ö㬶øÊÇ»áÊ×ÏÈ»º´æµ½Ò»¸ö»º³åÇøÖС£Õâ¸öÊǼÆËã»úΪÁËÃÖ²¹²»Í¬Ó²¼þÖ®¼äËٶȲî¾à£¬¶ø¹ßÓõļ¿Á©¡£
µ±ÔÚ³ÌÐòÖеÚÒ»´Îµ÷Óà getchar();ʱ£¬º¯Êý»áÈ¥»º³åÇø¿´µ±Ç°ÊÇ·ñ´æÔÚ×Ö·û£¬Èç¹ûÓУ¬Ôò»áÈ¡³öÒ»¸ö×Ö·û£¬·µ»Ø£»Èç¹ûûÓУ¬ÄÇô»áÌáʾÓû§ÊäÈë¡£Ö»Óе±Óû§ÊäÈëÁ˻سµ£¬´Ëº¯Êý²Å»áÔÙ´ÎÈ¥»º³åÇøÖÐÈ¡×Ö·û£¬²¢·µ»ØÒ»¸ö×Ö·û¡£
getchar£¨£©£º
ÎÒÃÇÓÃgetchar£¨£©ÔÚ¿ØÖÆÌ¨ÉÏÈ¡×Ö·ûµÄʱºò£¬ËüÊ×ÏÈÒª°ÑËùÓÐÈ¡µÃµÄ¶«Î÷°´ÕÕ˳Ðò·ÅÔÚÄÚ´æµÄij¸öÁÙʱµÄµØ·½£¬µ«ÎÒÃÇÊäÈë»Ø³µÊ±Ëü»á´ÓÕâ¸öµØ·½¿ªÊ¼ÔÚÈ¡×Ö·û£¬²¢°´ÏàͬµÄ˳ÐòÈ¡£¬µ±È¡µ½»Ø³µÊ±¾ÍÊÇÉÏ´ÎÊäÈëµÄ×îºóÒ»¸ö×Ö·û£¬×¢ÒâÎÒÃÇÔÚÒ»¸ö³ÌÐòÀï²»ÂÛÓöàÉÙgetchar£¨£©£¬Ëü¶¼»á´æ·ÅÔÚͬһ¸öµØ·½£¬²¢ÇÒ²»¶ÏµÄÏòºóÔö¼Ó£¬È»ºóÔÚÓÃgetchar£¨£©È¡µÄʱºò»á´ÓÉÏ´ÎÈ¡µÄºóÃæ¼ÌÐøÈ¡£¬Ö»ÒªÕâ¸ö´æ´¢µÄµØ·½ÓÐ×Ö·û£¬ÄÇôÎÒÃÇÓÃgetchar£¨£©Ê±¿ØÖÆÌ¨¾Í²»»áÍ£¶ÙµÈ´ýÎÒÃÇÊäÈë×Ö·û£¬Ö»Óе±È¡µ½»»ÐÐʱ²ÅÊDZíʾÕâ¸öµØ·½ÍêÈ«¿ÕÁË£¬Ï´ÎÔÚÓÃgetchar£¨£©µÄʱºò¿ØÖÆÌ¨²Å»áÍ£¶ÙµÈ´ýÓû§ÊäÈë×Ö·û£¡
getchar()·µ»ØµÄÊÇintÐÍ.
[code]
int c;
while((c = getchar()) != EOF)
{
....
}
[/code]
ÔÒòÔÚÓÚ³ÌÐòÖеıäÁ¿c±»ÉùÃ÷ΪcharÀàÐÍ£¬¶ø²»ÊÇintÀàÐÍ¡£ÕâÒâζ×ÅcÎÞ·¨ÈÝÏÂËùÓпÉÄܵÄ×Ö·û£¬ÌرðÊÇ£¬¿ÉÄÜÎÞ·¨ÈÝÏÂEOF¡£Òò´Ë£¬×îÖÕ½á¹û´æÔÚÁ½ÖÖÇé¿ö¡£Ò»ÖÖ¿ÉÄÜÊÇ£ºÄ³Ð©ºÏ·¨µÄÊäÈë×Ö·ûÔÚ±»“½Ø¶Ï”ºóʹµÃcµÄȡֵÓëEOFÏàͬ£»ÁíÒ»ÖÖ¿ÉÄÜÊÇ£¬c¸ù±¾²»¿ÉÄÜÈ¡µ½EOFÕâ¸öÖµ¡£¶ÔÓÚǰһÖÖÇé¿ö£¬³ÌÐò½«ÔÚÎļþ¸´ÖƵÄÖÐ;ÖÕÖ¹£»¶ÔÓÚºóÒ»ÖÖÇé¿ö£¬³ÌÐòÏÝÈëÒ»¸öËÀÑ»·¡£Êµ¼ÊÉÏ£¬»¹ÓпÉÄÜ´æÔÚµÚÈýÖÖÇé¿ö£º³ÌÐò±íÃæÉÏËÆºõÄܹ»Õý³£¹¤×÷£¬µ«ÍêÈ«ÊÇÒòΪÇɺϡ£¾¡¹Üº¯ÊýgetcharµÄ·µ»Ø½á¹ûÔÚ¸³¸øcharÀàÐ͵ıäÁ¿cʱ»á·¢Éú“½Ø¶Ï”²Ù×÷£¬¾¡¹ÜwhileÓï¾äÖбȽÏÔËËãµÄ²Ù×÷Êý²»ÊǺ¯Êýgetch
Ïà¹ØÎĵµ£º
Ò»¡¢´ÓCÓëC++±àÒëÁ¬½Ó·½Ê½ÉîÈëÀí½âextern "C"
<1>.CºÍC++¶Ôº¯ÊýµÄ´¦Àí·½Ê½ÊDz»Í¬µÄ.±»extern "C"ÐÞÊεıäÁ¿ºÍº¯ÊýÊǰ´ÕÕCÓïÑÔ·½Ê½±àÒëºÍÁ¬½ÓµÄ.extern "C"ÓÃÓÚʵÏÖC++ÓëC¼°ÆäËüÓïÑԵĻìºÏ±à³Ì¡£
<2>.δ¼Óextern “C”ÉùÃ÷ʱµÄ±àÒ뷽ʽ
Ê×ÏÈ¿´¿´C++ÖжÔÀàËÆCµÄº¯ÊýÊÇÔõÑù±àÒëµÄ¡£
×÷ΪһÖÖÃæÏò ......
ÉÏѧÆÚ¼ä»ù±¾É϶¼ÔÚwindowsϱà³Ì£¬¾ÍÊÇѧÁËÒ»µãLINUX£¬Ò²ÊÇһЩ»ù±¾²Ù×÷£¬ÔÚLINUXϱà³Ì¼¸ºõûÓйý£¬Éϰàºó¶¼ÊÇÔÚUNIXϵĿª·¢£¬Í»È»Ö®¼äÓеã¸Ð¾õ×Ô¼ºÎÞ´¦ÏÂÊÖ£¬¸Ð¾õ²»»áÁË£¬×鳤ÈÃÎÒ±àÒ»¸ö³ÌÐò£¬ÎÒÏëÁ˰ëÌìÔÚÍøÉϲéÁ˰ëÌ죬Óеã˼·ÁË£¬ÔÚ±àÒëʱȷʵ´íÎóÁ¬Á¬£¬¸Ð¾õ¶¼ºÜÓÐѹÁ¦£¬µ«ÎÒ»áÂýÂýϰ¹ßµÄ£¬ÎÒÏàÐÅ×Ô¼º¡£
ÎÊÌ⣺
1 ......
¿´µ½Õâ¸öÃæÊÔÌâ,¹À¼ÆºÜ¶à¸ÕѧCÖ¸ÕëµÄͬѧ¶¼»á¸ã´í.
void GetMemory(char *p)
{
// ´«µÝ½øÀ´µÄµÄֵʹµÃ*p==NULL
// ÕâÀïÐ޸ĵÄÊÇÕâ¸öº¯ÊýÄÚµÄÁÙʱָÕë±äÁ¿pµÄÖµ
p = (char *)malloc(100);
}
void Test(void)
{
char *str = NULL;
// ´«µÝ½øÈ¥µÄÊÇstrµÄÖµNULL
GetMemory(str);
// ÕâÀïstrÖ¸Õë² ......
µ÷Óú¯Êýʱ£¬¼ÆËã»ú³£ÓÃÕ»À´´æ´¢´«µÝ¸øº¯ÊýµÄ²ÎÊý¡£
Õ»ÊÇÒ»ÖÖÏȽøºó³öµÄÊý¾Ý½á¹¹£¬Õ»ÓÐÒ»¸ö´æ´¢Çø¡¢Ò»¸öÕ»¶¥Ö¸Õë¡£Õ»¶¥Ö¸ÕëÖ¸Ïò¶ÑÕ»ÖеÚÒ»¸ö¿ÉÓõÄÊý¾ÝÏ±»³ÆÎªÕ»¶¥£©¡£Óû§¿ÉÒÔÔÚÕ»¶¥ÉÏ·½ÏòÕ»ÖмÓÈëÊý¾Ý£¬Õâ¸ö²Ù×÷±»³ÆÎªÑ¹Õ»(Push)£¬Ñ¹Õ»ÒÔºó£¬Õ»¶¥×Ô¶¯±ä³ÉмÓÈëÊý¾ÝÏîµÄλÖã¬Õ»¶¥Ö¸ÕëÒ²ËæÖ®Ð޸ġ£Óû§Ò²¿ÉÒÔ´Ó¶ÑÕ»ÖÐ ......
ÓÉÓÚC++±àÒëÆ÷ÐèÒªÖ§³Öº¯ÊýµÄÖØÔØ£¬»á¸Ä±äº¯ÊýµÄÃû³Æ£¬Óë±ê×¼CÖк¯ÊýÃû³Æ²»Í¬¡£È»¶ødllµÄµ¼³öº¯Êýͨ³£ÊDZê×¼C¶¨ÒåµÄ£¬Èñê×¼C±àдµÄdllº¯Êý¶¨ÒåÔÚCºÍC++±àÒëÆ÷϶¼ÄܱàÒëͨ¹ý£¬Í¨³£»áʹÓÃÒÔϵĸñʽ£º£¨Õâ¸ö¸ñʽÔںܶà³ÉÊìµÄ´úÂëÖкܳ£¼û£©
#ifdef __cplusplus extern "C"
{
#endif
// ......