popen在程序内调用可执行程序

一般有3种方法:1.exec函数 2.system函数 3. popen

int xpipe(char *cmdname, char *outbuf, int outlen)
{
    int ret = 0;
    FILE *pf;

    pf = popen(cmdname, "r");
    if( !pf )
        return -1; 

    if(outbuf)
    {   
        ret = fread(outbuf, 1, outlen-1, pf);
        if(ret<=0)
        {   
            pclose(pf);
            return ret;
        }   

        while( outbuf[ret-1] == '\r' || outbuf[ret-1] == '\n' )
            ret--;
        outbuf[ret] = 0;
    }   

    pclose(pf);
    return ret;
}



Python可以通过subprocess模块来调用其他语言编写的可执行程序,包括C#、Matlab和C++等语言编写的可执行文件。下面分别介绍一下调用这些语言编写的可执行程序的方法。 调用C#可执行程序 可以使用mono命令来运行C#可执行程序需要在Python中使用subprocess模块调用该命令。具体操作如下: ```python import subprocess # 调用C#可执行程序 process = subprocess.Popen(['mono', 'your_csharp_executable_file.exe'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) output, error = process.communicate() # 输出执行结果 print(output.decode()) print(error.decode()) ``` 调用Matlab可执行程序 可以使用matlab命令来运行Matlab可执行程序需要在Python中使用subprocess模块调用该命令。具体操作如下: ```python import subprocess # 调用Matlab可执行程序 process = subprocess.Popen(['matlab', '-r', 'your_matlab_executable_file'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) output, error = process.communicate() # 输出执行结果 print(output.decode()) print(error.decode()) ``` 调用C++可执行程序 可以直接使用C++编译出来的可执行程序来运行。需要在Python中使用subprocess模块调用程序。具体操作如下: ```python import subprocess # 调用C++可执行程序 process = subprocess.Popen(['your_cpp_executable_file'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) output, error = process.communicate() # 输出执行结果 print(output.decode()) print(error.decode()) ``` 以上是调用C#、Matlab和C++可执行程序的基本方法,根据实际情况可以做一些调整。另外,需要注意的是,调用可执行程序需要在系统中正确安装并配置好环境变量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值