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

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

[复制链接]

2021-9-2 13:55:07 2147 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>! g/ {9 w8 G7 o/ U
#include <stdlib.h>3 G3 @7 S  v6 f3 _
#include <string.h>/ X+ O' ?5 s# v/ ]; x$ `: i

- A  q9 x- d' Z+ u3 x5 m. _1 }
$ x$ u; H9 c% m' [: W* gint _System(const char * cmd, char *pRetMsg, int msg_len)
5 ]1 o, J! i; ], d4 z+ p{
6 Q" B8 L5 d  k: f! t; v% L) Q        FILE * fp;( f; `. n0 N: p! v
        char * p = NULL;
8 t2 |; k3 e9 E4 d        int res = -1;
  }- ^9 E1 Z, g+ R5 |6 \" j. i        if (cmd == NULL || pRetMsg == NULL || msg_len < 0)0 `: x. t2 U. L  r. G$ w1 @. T& A
        {
) }" @$ m* b- G0 e' |2 i0 [: L7 ^                printf("Param Error!\n");9 H; E; u2 l6 R' }3 t
                return -1;
) `. ?3 m+ p$ n. P$ k3 k% e        }
+ i* @( q: m. T        if ((fp = _popen(cmd, "r")) == NULL)
6 o* w' T. |) w$ S% s9 N3 U        {3 U1 L) j: |" J9 z7 w
                printf("Popen Error!\n");
/ X: `# Y+ D6 T                return -2;
; v2 H( s# D; F% J1 r        }' z! b8 I" x( J: i  y& y! I% m
        else
8 o/ c1 E6 I+ ^        {
  {1 y) G2 t4 V& M; n' }2 Z4 H                memset(pRetMsg, 0, msg_len);& W4 c% S0 p. {+ U
                //get lastest result  
! ?% a% Y8 F8 J. L) d0 t                while (fgets(pRetMsg, msg_len, fp) != NULL)% w% E6 w* q' `, o* X, A; P
                {
2 W- R" _; s4 W                        printf("Msg:%s", pRetMsg); //print all info  
; l$ a( P! G' J1 M+ |  ?4 _                }4 K: a- T+ o. f* E& P4 g3 `
% Q3 @: k  P. k
                if ((res = _pclose(fp)) == -1)
0 C4 b6 h1 b& h" B" F/ S                {
) y5 u/ K& o+ G                        printf("close popenerror!\n");
" [% x/ x4 m7 w$ [; r                        return -3;
0 F3 R( e+ b4 w' y6 P! k                }8 y% n- w0 T2 u" B5 m1 s
                pRetMsg[strlen(pRetMsg) - 1] = '\0';/ g- |8 N: b! h5 d1 T" I7 [- r
                return 0;
5 K  \& k4 S8 M& Z6 A        }: ?$ ?( R; ^& g6 l
}2 B9 O, C7 }! r- B0 U6 T6 {3 G$ o

: T' a7 H) C+ l( f( {2 Wint main()% O1 s$ H/ U9 `7 w  ^! {7 P5 ^1 S. Y
{
2 A( z% |  p9 o" k7 R5 N        //test cmd  
# t5 G9 v% Z  ~' {( @$ c+ B/ _' J        char *cmd = "python d:\\PythonProjects\\Demo1.py [1]";! i  m" Y, b. c3 I7 y- U+ \# W7 d
        char a8Result[128] = { 0 };
9 q4 [, a1 i9 u3 ^) [! I        int ret = 0;- Q9 x* ~) k; O4 ?7 M: x  N( d
        ret = _System(cmd, a8Result, sizeof(a8Result));
' J9 f$ M) F- u+ m% F8 d/ N        printf("ret = %d \na8Result = %s\nlength = %d \n", ret, a8Result, strlen(a8Result));
8 v% F" k8 O0 I6 h8 w- `& _& e6 \3 w        geTChar();# g( w4 ~" C1 B( O6 x! w. l
        return 0;  ^4 c2 |- h% k$ s5 v
}
' F+ E+ A# A( K4 L" q8 y* j+ N[/mw_shl_code]& F8 a# a7 ]$ H/ j( b% I
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了