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

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

[复制链接]

2021-9-2 13:55:07 2179 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>4 u" X% ]( r/ ?  o; Y
#include <stdlib.h>, C: V* ^6 H9 C/ q
#include <string.h>
3 @/ i8 A4 }; g* k  ] 5 ^9 i0 N3 G! I  r: d$ e
: _( w+ h6 F" a. E; e
int _System(const char * cmd, char *pRetMsg, int msg_len)1 U4 f9 \* r% q, Z9 A: Q. J
{; }$ j3 K* Q( k1 o2 d& T
        FILE * fp;
. m9 Z( P! j, I( S7 N1 {* L        char * p = NULL;
5 H- @; K3 _: m. j, c/ g        int res = -1;  ^; e+ [4 O7 t+ C+ a: _/ o
        if (cmd == NULL || pRetMsg == NULL || msg_len < 0)
3 N) N3 Y8 y6 d  Q) H# A8 O; {        {
+ p% o- g9 A# R- H9 @                printf("Param Error!\n");
. {; t" J& N: L- r) \                return -1;* y$ E8 t8 f1 a4 w" y
        }' Y; j$ M0 ^, J
        if ((fp = _popen(cmd, "r")) == NULL)
% e. _7 C- H% i        {6 g+ `' e1 U+ Y8 e$ G% T
                printf("Popen Error!\n");. @+ y5 l; R4 m: w3 H  a9 r6 s& E
                return -2;
, q# P# C3 K7 C( ], @" a1 u. _        }0 R+ O: u% A8 v1 f+ f: F% r" ?# ^
        else  G( Q6 H8 P" q
        {
: \4 D/ t% L4 X$ P+ g' ?7 M                memset(pRetMsg, 0, msg_len);
  M& H# d$ s! v                //get lastest result  + j( E, S5 o/ A6 D
                while (fgets(pRetMsg, msg_len, fp) != NULL)
" H) A6 u; p, ]                {
2 h8 S3 {# u* v0 p* r1 i# d) t                        printf("Msg:%s", pRetMsg); //print all info  
1 I# q9 K) T& I. ~1 N8 g; k- Y9 [                }6 X1 S! ^' g  r5 s

; G: P; b5 W, v% ?# R                if ((res = _pclose(fp)) == -1)9 Z+ G7 X$ G0 g* j) s" O
                {
7 E5 L6 f) S; N7 ]7 U                        printf("close popenerror!\n");
+ X; O# m8 |) h+ o# j                        return -3;$ O% h# L$ t" Y$ ~$ ~# q6 @+ i  u
                }& R* G6 ^& b1 n7 H0 J& |. ~
                pRetMsg[strlen(pRetMsg) - 1] = '\0';0 H5 y: q% f5 {' g
                return 0;7 N7 J# \$ Z/ P0 X* i
        }! F+ r1 ?$ j& k8 E
}7 a+ m2 C+ R! y) t, z1 Y) B
7 y9 g' i$ h0 O
int main()
3 `9 s. @: x- F" m4 S& b4 ?. H{
; K/ ~2 Y* ]! q$ x( ?+ h  E" N. n* ?        //test cmd  
2 I' t5 ^" d4 ~" m/ F6 [6 f        char *cmd = "python d:\\PythonProjects\\Demo1.py [1]";9 }. l. r) `, _
        char a8Result[128] = { 0 };
1 h0 Q  s  b9 T" z" P( x/ ~        int ret = 0;' }$ H3 N! N9 Z3 H: S; x: V
        ret = _System(cmd, a8Result, sizeof(a8Result));
9 M) W) I8 u$ s6 c' v: o3 s        printf("ret = %d \na8Result = %s\nlength = %d \n", ret, a8Result, strlen(a8Result));
' r8 g# B2 k6 L- z9 O7 l! L$ }. A        geTChar();
- I$ n8 M+ D  I6 h0 @& U* `: y        return 0;
' x  Q, m4 ~  w7 ]}
8 }1 \& L; C- l$ b1 t1 x[/mw_shl_code]( y+ s, s7 W2 p6 Y. x% `
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了