c pipe

来源:互联网 发布:淘宝速捷运动专营店 编辑:程序博客网 时间:2024/05/21 10:36

popen like fopen , wirte shell result

#include "stdio.h"
#include "stdlib.h"
main () {
        int ret;
        FILE *fileptr=NULL;
        char ipfile[512];
        char ibuf[512];
        char os[512];
        char osname[512];
        int i;

        fileptr = popen("hostname", "r");
 

        memset (ipfile,0x00,sizeof(ipfile));
        memset (ibuf,0x00,sizeof(ibuf));
        memset (os,0x00,sizeof(os));
        memset (osname,0x00,sizeof(osname));

        if (fileptr == NULL) {
                printf ("open file fail \n");
                return;
        }
        while (fgets(ibuf,sizeof(ibuf),fileptr)!=NULL) {
                if (1 != sscanf(ibuf,"%s",&os)) {
                        printf ("read file fail \n");
                }
                printf ("line30:ibuf=%s\n",ibuf);
        }
        for (i=0;ibuf[i]!='\0';i++) {
                if (ibuf[i]==' ') {
                        break;
                } else {
                        printf ("line35:ibuf[%d]=%c \n",i,ibuf[i]);
                        osname[i]=ibuf[i];
                }
        }
        printf ("osname=%s\n",osname);
        pclose(fileptr);
}

 

原创粉丝点击