1. 首页
  2. 技术
  3. Linux

C++执行shell命令获取结果

c++可以通过系统调用的方式执行shell命令

#include <cstdlib>
int main()
{   
    system("ps -ef| grep myprocess");

    return 0;
}

但是如果要获取命令的执行结果,那么就需要

使用

#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <cstring>
using namespace std;
int executeCMD(const char *cmd,char *result)
{
    char buf_ps[512];
    char ps[512]={0};
    int len=0;
    FILE *ptr;
    strcpy(ps, cmd);
    if((ptr=popen(ps, "r"))!=NULL)
    {
        while(fgets(buf_ps, 512, ptr)!=NULL)
        {
           strcat(result, buf_ps);
           if(strlen(result)>512)
               break;
        }
        pclose(ptr);
        ptr = NULL;
    }
    else
    {
        printf("popen %s error\n", ps);
    }
}

原创文章,作者:admin,如若转载,请注明出处:https://www.huiyingwu.com/4332/

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注