PLM之家PLMHome-国产软件践行者

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

[复制链接]

2021-9-2 13:55:07 2194 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>
+ k7 q' U. z6 B" u. i/ d, ^! s#include <stdlib.h>& ~- K' w  ]5 ?. J% ^$ z9 d
#include <string.h>" K3 L4 e2 \' V' p: k* a7 s
2 d7 E; b) T( F+ ]; a( V4 x4 `: F) C

$ j# J5 |6 c* V* hint _System(const char * cmd, char *pRetMsg, int msg_len)
+ }# j3 M* [) A* h  a; ^{3 p1 V: G- k( ^/ x5 U& w" W
        FILE * fp;1 E' o% _3 r) ^- \% @
        char * p = NULL;6 q7 Q/ x8 W, D; Y1 a4 ^. q
        int res = -1;  D+ t; m3 ?/ p& N( g9 o" a
        if (cmd == NULL || pRetMsg == NULL || msg_len < 0)
+ c/ h( c1 Z, l9 x+ A        {3 `+ [* d# Y5 X0 M% z
                printf("Param Error!\n");  s9 x/ L( f- Y4 l% |# D* V  }( U, M6 I
                return -1;* |1 ?1 \2 O9 F" @7 z
        }, K7 V" {- i/ W4 Q
        if ((fp = _popen(cmd, "r")) == NULL)
# H- V$ {9 z8 w        {2 m# z5 L5 Z! s
                printf("Popen Error!\n");4 z& g3 @, i+ g8 v( P) k
                return -2;# u' r( d' c/ Y
        }* v% ]+ [& w. f/ r% [: @
        else- l8 n, k- ~7 T* {+ u5 a
        {
1 \' ~1 x. ^. t( P9 E7 r1 O                memset(pRetMsg, 0, msg_len);4 p+ y& M$ x0 d) l2 t1 m
                //get lastest result  
$ q5 i! ^: [/ i2 y                while (fgets(pRetMsg, msg_len, fp) != NULL)
4 z, |9 h5 b4 X6 n+ K0 b                {
7 @) \! m; o- f4 R0 p" c                        printf("Msg:%s", pRetMsg); //print all info  % B1 j" G0 t+ C  O
                }
' o' z( ~! l+ d* F
* i  |+ j$ O* z+ p: r                if ((res = _pclose(fp)) == -1). o4 \0 i; Q/ r
                {* K1 ^2 S: \5 \5 g
                        printf("close popenerror!\n");8 S" W- L) y" Q- Y/ W7 T
                        return -3;
! O6 `  u! L" Q1 P! y                }& \5 ?2 q  B% o2 U& R# c. H2 H3 @
                pRetMsg[strlen(pRetMsg) - 1] = '\0';5 }5 w# _( N7 W' `7 b' T( Y- \  G
                return 0;6 n" E4 v) C2 r8 B
        }3 f; g: P) N. Q" E6 h# d6 T
}0 J9 D3 I5 Y- ?5 v$ P0 I

4 h. O+ I& S$ Sint main()
6 z, D1 ?7 z  ]  Y{
/ J) I" w& r) \. h$ O: ^" a        //test cmd  2 Y' X: ^3 J- u: u2 t% Z3 g
        char *cmd = "python d:\\PythonProjects\\Demo1.py [1]";
9 g3 z) t0 W- ?4 ]# O1 R; {        char a8Result[128] = { 0 };2 S3 K7 J5 Y, X4 {; a3 E6 l
        int ret = 0;
1 X" ~1 ]* {  M% L3 b% @2 Q9 \# y        ret = _System(cmd, a8Result, sizeof(a8Result));
7 z, p2 A/ L, j( B; Q1 u& _        printf("ret = %d \na8Result = %s\nlength = %d \n", ret, a8Result, strlen(a8Result));& D# S: V  G& i8 ^4 e* V  P/ D
        geTChar();- R8 R* S6 N/ R5 T( C# L
        return 0;6 b; k* Y5 S+ V" F) M% ~) ]$ K) C* c
}
3 T# _) [& F6 t) Z% Q4 Q1 e[/mw_shl_code]
1 H3 m1 i1 G0 X  M
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了