zoukankan      html  css  js  c++  java
  • C++/Php/Python 语言执行shell命令

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

    1. C++ 执行shell命令

     1 #include <iostream>
     2 #include <string>
     3 #include <stdio.h>
     4 
     5 int exec_cmd(std::string cmd, std::string &res){
     6     if (cmd.size() == 0){   //cmd is empty 
     7         return -1;
     8     }
     9 
    10     char buffer[1024] = {0};
    11     std::string result = "";
    12     FILE *pin = popen(cmd.c_str(), "r");
    13     if (!pin) { //popen failed 
    14         return -1;
    15     }
    16 
    17     res.clear();
    18     while(!feof(pin)){
    19         if(fgets(buffer, sizeof(buffer), pin) != NULL){
    20             result += buffer;
    21         }
    22     }
    23 
    24     res = result;
    25     return pclose(pin); //-1:pclose failed; else shell ret
    26 }
    27 
    28 int main(){
    29     std::string cmd = "ls -ial";
    30     std::string res;
    31 
    32     std::cout << "ret = " << exec_cmd(cmd, res) << std::endl;
    33     std::cout << res << std::endl;
    34 
    35     return 0;
    36 }

    2. Php执行shell命令

    1 <?php
    2     $cmd = "wc -l ./test.php";
    3     exec($cmd, $output, $code);
    4 
    5     echo $code."
    ";
    6     print_r($output);
    7 ?>

    3. Python执行shell命令

    1 import commands
    2 
    3 status, output = commands.getstatusoutput('ls -lt')
    4 
    5 print status
    6 print output
  • 相关阅读:
    bzoj 4911: [Sdoi2017]切树游戏
    bzoj 2654: tree
    bzoj 3240: [Noi2013]矩阵游戏
    有标号的DAG计数 III
    有标号的DAG计数 II
    bzoj 3512: DZY Loves Math IV
    bzoj 4480: [Jsoi2013]快乐的jyy
    bzoj 5323: [Jxoi2018]游戏
    codeforces412A
    7.6 T1 深度优先搜索(dfs)
  • 原文地址:https://www.cnblogs.com/xudong-bupt/p/6218140.html
Copyright © 2011-2022 走看看