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

Linux cµÄpopen()

½ø³ÌI/Oº¯Êý,Óëpcloseº¯ÊýÒ»ÆðʹÓá£
±íÍ·Îļþ
¡¡¡¡#include <stdio.h>
º¯Êý¶¨Òå
¡¡¡¡FILE * popen
( const char * command
, const char * type
);
¡¡¡¡int pclose
( FILE * stream
);
º¯Êý˵Ã÷
¡¡¡¡
popen() º¯Êýͨ¹ý´´½¨Ò»¸ö¹ÜµÀ£¬µ÷Óà fork ²úÉúÒ»¸ö×Ó½ø³Ì£¬Ö´ÐÐÒ»¸ö shell ÒÔÔËÐÐÃüÁîÀ´¿ªÆôÒ»¸ö½ø³Ì¡£Õâ¸ö½ø³Ì±ØÐëÓÉ
pclose() º¯Êý¹Ø±Õ£¬¶ø²»ÊÇ fclose() º¯Êý¡£pclose() º¯Êý¹Ø±Õ±ê×¼ I/O Á÷£¬µÈ´ýÃüÁîÖ´ÐнáÊø£¬È»ºó·µ»Ø shell
µÄÖÕֹ״̬¡£Èç¹û shell ²»Äܱ»Ö´ÐУ¬Ôò pclose() ·µ»ØµÄÖÕֹ״̬Óë shell ÒÑÖ´ÐÐ exit Ò»Ñù¡£
¡¡¡¡ type
²ÎÊýÖ»ÄÜÊǶÁ»òÕßдÖеÄÒ»ÖÖ£¬µÃµ½µÄ·µ»ØÖµ£¨±ê×¼ I/O Á÷£©Ò²¾ßÓÐºÍ type ÏàÓ¦µÄÖ»¶Á»òֻдÀàÐÍ¡£Èç¹û type ÊÇ "r" ÔòÎļþÖ¸ÕëÁ¬½Óµ½ command µÄ±ê×¼Êä³ö£»Èç¹û type ÊÇ "w" ÔòÎļþÖ¸ÕëÁ¬½Óµ½ command µÄ±ê×¼ÊäÈë¡£
¡¡¡¡ command
²ÎÊýÊÇÒ»¸öÖ¸ÏòÒÔ NULL ½áÊøµÄ shell ÃüÁî×Ö·û´®µÄÖ¸Õë¡£ÕâÐÐÃüÁ±»´«µ½ bin/sh ²¢Ê¹ÓÃ-c ±êÖ¾£¬shell ½«Ö´ÐÐÕâ¸öÃüÁî¡£
¡¡¡¡ popen
µÄ·µ»ØÖµÊǸö±ê×¼ I/O Á÷£¬±ØÐëÓÉ pclose
À´ÖÕÖ¹¡£Ç°ÃæÌáµ½Õâ¸öÁ÷Êǵ¥ÏòµÄ¡£ËùÒÔÏòÕâ¸öÁ÷дÄÚÈÝÏ൱ÓÚдÈë¸ÃÃüÁîµÄ±ê×¼ÊäÈ룻ÃüÁîµÄ±ê×¼Êä³öºÍµ÷Óà popen
µÄ½ø³ÌÏàͬ¡£ÓëÖ®Ïà·´µÄ£¬´ÓÁ÷ÖжÁÊý¾ÝÏ൱ÓÚ¶ÁÈ¡ÃüÁîµÄ±ê×¼Êä³ö£»ÃüÁîµÄ±ê×¼ÊäÈëºÍµ÷Óà popen
µÄ½ø³ÌÏàͬ¡£
·µ»ØÖµ
¡¡¡¡ Èç¹ûµ÷Óà fork() »ò pipe() ʧ°Ü£¬»òÕß²»ÄÜ·ÖÅäÄڴ潫·µ»ØNULL£¬·ñÔò·µ»Ø±ê×¼ I/O Á÷¡£
·µ»Ø´íÎó
¡¡¡¡ popen
ûÓÐΪÄÚ´æ·ÖÅäʧ°ÜÉèÖà errno Öµ¡£
¡¡¡¡Èç¹ûµ÷Óà fork() »ò pipe() ʱ³öÏÖ´íÎó£¬errno ±»ÉèΪÏàÓ¦µÄ´íÎóÀàÐÍ¡£
¡¡¡¡Èç¹û type ²ÎÊý²»ºÏ·¨£¬errno½«·µ»ØEINVAL¡£
ʹÓþÙÀý
¡¡¡¡ if((fp=popen("/usr/bin/uptime","r"))==NULL);
¡¡¡¡{
¡¡¡¡sprintf(buf,"error: %s\n", strerror(errno));
¡¡¡¡....//Òì³£´¦Àí
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡....
¡¡¡¡pclose(fp);
¡¡¡¡}


Ïà¹ØÎĵµ£º

c ÓïÑÔбê×¼

ÔÚANSI±ê×¼»¯ºó£¬CÓïÑԵıê×¼ÔÚÒ»¶ÎÏ൱µÄʱ¼äÄÚ¶¼±£³Ö²»±ä£¬¾¡¹ÜC++¼ÌÐøÔڸĽø¡££¨Êµ¼ÊÉÏ£¬Normative Amendment1ÔÚ1995ÄêÒѾ­¿ª·¢ÁËÒ»¸öеÄCÓïÑÔ°æ±¾¡£µ«ÊÇÕâ¸ö°æ±¾ºÜÉÙΪÈËËùÖª¡££©±ê×¼ÔÚ90Äê´ú²Å¾­ÀúÁ˸Ľø£¬Õâ¾ÍÊÇISO9899:1999£¨1999Äê³ö°æ£©¡£Õâ¸ö°æ±¾¾ÍÊÇͨ³£Ìá¼°µÄC99¡£Ëü±»ANSIÓÚ2000ÄêÈýÔ²ÉÓá£
¡¡¡¡ÔÚC99ÖаüÀ ......

cÍ·Îļþ×îºóÒª¼ÓÒ»¸ö¿ÕÐÐ,ÖªµÀΪʲôÂ

 ÒÔǰѧÉúʱ´úµÄʱºò¾ÍÓÐÓöµ½¹ýÕâ¸öÎÊÌ⣬²»¹ýûȥÉ£»
ÏÖÔÚÒ²ÊÇÀÏÎÊÌ⣬ÆäʵºÜ¼òµ¥£¬¾ÍÊÇΪÁË·ÀÖ¹#includeÁ½¸öÍ·ÎļþµÄʱºò£¬°ÑµÚÒ»¸öÍ·ÎļþµÄ×îºóÒ»ÐÐºÍ µÚ¶þ¸öÍ·ÎļþµÄµÚÒ»ÐÐÆ´½Ó³ÉÒ»ÐУ»ºÇºÇ£¬ÆäʵºÜ¶àÎÊÌâ¶¼ºÜ¼òµ¥£¬¶øÇÒºÜÒþ±Î£¬Ö»ÊÇÎÒÃǺܶàʱºòûȥעÒ⣡ ......

WindowsÏÂCÍøÂç±à³ÌÈëÃÅ

http://blog.csdn.net/Ackarlix/archive/2007/08/25/1758412.aspx
WindowsÏÂCÍøÂç±à³ÌÈëÃÅ
CÓïÑÔµÄѧϰ£¬Ò»°ãµÄ·½Ê½ÊÇ£¬ÏÈѧC£¬È»ºóÊÇC++£¬×îºÃ»¹ÒªÓлã±àÓïÑÔºÍ΢»úÔ­Àí»ù´¡£¬È»ºó²ÅÊÇVisual C++¡£ÕâÑùµÄ·½Ê½£¬¶ÔѧϰÕßÀ´Ëµ£¬Òª»¨·ÑºÜ¶àʱ¼äºÍÄÍÁ¦¡£¶øÔÚѧУ½ÌѧÖУ¬Ò²Ã»ÓÐʱ¼äÉîÈëѧϰWindows±à³ÌµÄʵÓü¼ÊõÁË¡£
¡¡¡¡ ......

EVE˵˵ÐÂÈËÉÏÊÖC×å

ÐÂÈ˸տªÊ¼Íæ×îºÃ½¨¸öÃâ·ÑºÅÏÈÊìϤÏÂÓÎÏ·£¬ÏȰÑÐÂÊֽ̳Ì×öÍæ£¬½Ì³ÌÒªÂýÂý×ö£¬°Ñÿһ²½½ÌµÄ¶¼Ñ§µ½¡£ÎÒÇ¿ÁÒBS×öÍê½Ì³Ì»¹²»»áÍê˵½Ì³Ì²»ºÃµÄÈË£¬ÒÔǰÎÒÍêÅ··þ¶¼ÊÇ×öÍê½Ì³Ì¾ÍÄÜ¿ªÊ¼ÍêÁË£¬ÎÒ»¹ÊÇÓõĽðɽ¿ìÒë2002µÄ£¬¸Â¸Â¡£
ÑÔ¹éÕý´«£¬ÐÂÈË×öÍê½Ì³Ì×îºóµÄ2¸öÈÎÎñÊÖÉϸÃÓÐ10W¶àÁË£¨×îºóµÄÄǸö´úÀíÈËÈÎÎñ²»×ö½Ì³ÌÒ²¿ÉÒÔÖ±½Ó×ö£©£¬ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ