PLM之家PLMHome-工业软件与AI结合践行者

[资料] 【Window】cmd命令行命令并获取命令行的输出内容

[复制链接]

2021-9-2 13:55:07 2323 1

admin 发表于 2019-12-17 08:23:05 |阅读模式

admin 楼主

2019-12-17 08:23:05

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
[mw_shl_code=cpp,true]#include <stdio.h>& M5 A, g+ c8 Z$ ]4 f' ~$ N3 b
#include <stdlib.h>
2 K( b8 {. Z  M! t$ Z8 `#include <string.h>
' b" {& ?7 n) Q  y& Q " H2 Z# j! c0 F

0 V9 l; u; S2 e* Z+ @int _System(const char * cmd, char *pRetMsg, int msg_len)5 Q) g: [+ a" N7 N  }" \" w  [( ?: d
{
. g( |9 q2 Q- Y: F% G) ]* r2 w        FILE * fp;
0 n$ T8 P: U. w% U2 O        char * p = NULL;+ w" j& `  x8 s, y8 D" e- r' [
        int res = -1;2 M4 w/ A& U# X) V( f
        if (cmd == NULL || pRetMsg == NULL || msg_len < 0)
. E* l) C$ {& p" i        {7 c( H8 q; ]& \1 ?1 s. g3 g2 Z" k
                printf("Param Error!\n");, w! L+ R6 a/ c4 s/ Q
                return -1;
5 G: ]+ y, W2 R" ]2 z7 E        }0 Z4 P/ B0 A, I2 E* |
        if ((fp = _popen(cmd, "r")) == NULL)
; O/ B- x& T7 a/ r8 f        {
4 i$ U: @0 ~% e' W                printf("Popen Error!\n");6 m# D! i2 ^  r; a2 S. I6 h2 q
                return -2;5 l; H& h6 Y. f" u( t1 h- n2 u
        }) E. h9 N, Q6 K' ]' w! o- ]
        else
! M* p6 L) w* w# h9 d        {
$ D; V  x+ s" \; b$ H6 N                memset(pRetMsg, 0, msg_len);
6 ~& N+ i, v8 Z7 w5 V( p. U6 ~                //get lastest result  
6 G( l* ]" [1 d( c                while (fgets(pRetMsg, msg_len, fp) != NULL)
& Y" g1 ?, d  B$ y6 k+ U& S) Y1 E; ]                {
. f8 k: z" q, \: x/ u/ Y                        printf("Msg:%s", pRetMsg); //print all info  , o5 {. O. @# J3 F  b# c
                }+ M- ?' _* B: D# v
3 u& x9 n- N; m! O
                if ((res = _pclose(fp)) == -1)& M6 v; |/ b/ |0 b' m
                {
8 t* R$ u% i3 ]2 E2 ^% B( ^2 o                        printf("close popenerror!\n");
6 v2 L3 A! t! d6 Y: h. G( J                        return -3;' A+ ~) ^) E1 h- U8 H( e
                }
8 _) [* W2 R3 X7 R2 S                pRetMsg[strlen(pRetMsg) - 1] = '\0';
9 G  @! {+ D; ]                return 0;+ \* x/ i) r% Y) c  {! `* s; t; @: v
        }1 ~3 N9 i6 i4 a) V, x, L
}) d+ _! q1 N9 u5 o
( X+ I3 j2 W/ @* K( x8 W. i
int main()
; S. _" P% Y- L& [1 `2 M$ j{2 B; h5 K$ ]$ U0 Z
        //test cmd  
* h6 e' x7 t- E; s        char *cmd = "python d:\\PythonProjects\\Demo1.py [1]";. p8 |" N& ^1 M& c
        char a8Result[128] = { 0 };
8 ]& p% b" G; Q+ v' @8 K        int ret = 0;4 n# }9 G2 j  F+ z# |
        ret = _System(cmd, a8Result, sizeof(a8Result));; k0 h! i4 R6 C. N8 I
        printf("ret = %d \na8Result = %s\nlength = %d \n", ret, a8Result, strlen(a8Result));
2 A6 O: B: h  x0 V        geTChar();# ?" f/ U$ U+ v* R
        return 0;* `1 }* i& p) I& s( {7 [
}
  q: M$ F8 k$ J; i" Y: R[/mw_shl_code]
% Z2 E) I4 ~7 R, a) h( z
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复1

zwz 发表于 2021-9-2 13:55:07

zwz 沙发

2021-9-2 13:55:07

非常好的帖子 收藏一下以便学习
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了