C++/Php/Python 语言执行shell命令的方法(推荐)

 更新时间:2017年03月31日 14:09:05   投稿:jingxian  
下面小编就为大家带来一篇C++/Php/Python 语言执行shell命令的方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

编程中经常需要在程序中使用shell命令来简化程序,这里记录一下。

1. C++ 执行shell命令

#include <iostream>
#include <string>
#include <stdio.h>

int exec_cmd(std::string cmd, std::string &res){
  if (cmd.size() == 0){  //cmd is empty 
    return -1;
  }

  char buffer[1024] = {0};
  std::string result = "";
  FILE *pin = popen(cmd.c_str(), "r");
  if (!pin) { //popen failed 
    return -1;
  }

  res.clear();
  while(!feof(pin)){
    if(fgets(buffer, sizeof(buffer), pin) != NULL){
      result += buffer;
    }
  }

  res = result;
  return pclose(pin); //-1:pclose failed; else shell ret
}

int main(){
  std::string cmd = "ls -ial";
  std::string res;

  std::cout << "ret = " << exec_cmd(cmd, res) << std::endl;
  std::cout << res << std::endl;

  return 0;
}

2. Php执行shell命令

<?php
  $cmd = "wc -l ./test.php";
  exec($cmd, $output, $code);

  echo $code."\n";
  print_r($output);
?>

3. Python执行shell命令

import commands

status, output = commands.getstatusoutput('ls -lt')

print status
print output

以上这篇C++/Php/Python 语言执行shell命令的方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

相关文章

  • Qt利用tablewidget模拟手指实现滑动

    Qt利用tablewidget模拟手指实现滑动

    这篇文章主要为大家详细介绍了Qt如何利用tablewidget模拟手指实现滑动效果,文中的示例代码讲解详细,对我们学习Qt有一定的帮助,需要的可以参考一下
    2023-01-01
  • Qt中简单的按钮槽函数传递参数方法

    Qt中简单的按钮槽函数传递参数方法

    这篇文章主要介绍了Qt中简单的按钮槽函数传递参数方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • C语言实现弹跳小球

    C语言实现弹跳小球

    这篇文章主要为大家详细介绍了C语言实现弹跳小球,设置了小球分数及过关难度,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • OpenCV实现图像腐蚀

    OpenCV实现图像腐蚀

    这篇文章主要为大家详细介绍了OpenCV实现图像腐蚀,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • C++ 多态性虚函数和动态绑定学习笔记

    C++ 多态性虚函数和动态绑定学习笔记

    这篇文章主要为大家介绍了C++ 多态性虚函数和动态绑定学习笔记,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • 基于OpenCv的运动物体检测算法

    基于OpenCv的运动物体检测算法

    这篇文章主要为大家详细介绍了基于OpenCv的运动物体检测算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • C++ Sqlite3的使用方法

    C++ Sqlite3的使用方法

    这篇文章主要介绍了C++ Sqlite3的使用方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • 从汇编看c++中函数里面的static关键字的使用说明

    从汇编看c++中函数里面的static关键字的使用说明

    c++中的static关键字使得函数里面的局部变量的存活期不在局限于函数里面,而是变为在整个程序生命期里面都有效
    2013-05-05
  • C语言实现打印数组以及打印注意事项说明

    C语言实现打印数组以及打印注意事项说明

    这篇文章主要介绍了C语言实现打印数组以及打印注意事项说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • C++中的并行与并发基础与使用详解

    C++中的并行与并发基础与使用详解

    对于多线程来说,这两个概念有很大部分是重叠的。对于很多人来说,它们的意思没有什么区别。其区别主要在于关注点和意图方面(差距甚微)。这两个词都是用来对硬件在同时执行多个任务的方式进行描述的术语,不过并行更加注重性能
    2023-02-02

最新评论