PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82172
QQ
发表于 2019-12-17 08:23:05 | 显示全部楼层 |阅读模式

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

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

x
[mw_shl_code=cpp,true]#include <stdio.h>
9 |2 l* N4 E; X$ m3 f, A. ]#include <stdlib.h>
8 d4 F$ F8 A1 o- p! g- D#include <string.h>
) G4 G$ Y  q, {7 C" c" F
9 P" a1 h  A0 w% f3 ~ 6 V8 ^4 x1 J% t8 s. ]
int _System(const char * cmd, char *pRetMsg, int msg_len)7 P4 F9 e/ p# f, n
{2 o6 _+ n) @/ d1 h( F+ d
        FILE * fp;8 t6 E) k/ l7 n( Y
        char * p = NULL;! {- @  c7 K9 D  v
        int res = -1;
! o4 I$ Y9 N5 n3 G        if (cmd == NULL || pRetMsg == NULL || msg_len < 0)
3 D* J! O+ y- M: v5 U$ Y8 |' S        {, u9 N& A8 X( S* n
                printf("Param Error!\n");
- G$ U1 D7 f( o( R* T* _+ W$ E                return -1;" E9 ?+ i6 o/ k- Z% C
        }& R3 ~0 H5 w, z$ c1 U5 m
        if ((fp = _popen(cmd, "r")) == NULL)
& t1 Y7 E6 K  Q3 ~  i) X        {
- |' F0 l' P& u                printf("Popen Error!\n");' N6 U" c+ ~8 V0 l0 ~! `. s/ Z2 j
                return -2;) h$ b, ?6 p# L9 r2 r3 Q
        }
* G- D/ r8 ~: @& \        else
; A  r% h- F! z/ U, ?5 R. o        {
1 Q: }) b2 M  m+ w                memset(pRetMsg, 0, msg_len);* z  ^) j0 e& i! X) ^
                //get lastest result  
, K/ b8 _0 p9 B4 ~* }1 V& r                while (fgets(pRetMsg, msg_len, fp) != NULL)
7 G7 w4 t) A/ v                {
6 {" A( X9 z) j: {, R, O4 A                        printf("Msg:%s", pRetMsg); //print all info  
- N) U/ z0 C8 b0 C9 K3 r: o$ `                }
9 O& `9 ^6 G! }
% \+ ~" K& N& @) N% l8 b' P                if ((res = _pclose(fp)) == -1)
& M' X: T# F4 |7 H1 P; P3 ^' @% B                {) E" X; C# e. x# S, W, S) t
                        printf("close popenerror!\n");1 ?- `; C8 P2 m$ g& W# w& {
                        return -3;
# d  R- b2 w0 K3 f/ q                }
3 p5 B- @2 X; ?. Y5 R9 E                pRetMsg[strlen(pRetMsg) - 1] = '\0';) K  `8 s6 c/ \
                return 0;1 I% Y% o0 c* Z0 x6 R8 i% R
        }
0 w, x1 h6 l! U6 U}
  q  N- F7 C, C. A- |1 K6 W
) @, \/ X" K0 Z/ K- A& i- c( aint main()- T2 [- Y+ e) V3 U# Y6 A) N
{6 s" m7 \$ H3 ]" {& S* H( D3 p
        //test cmd  - Z# _% \  i) u  ^  p9 v; A
        char *cmd = "python d:\\PythonProjects\\Demo1.py [1]";
: ~2 p( a8 p" g9 f        char a8Result[128] = { 0 };  K- P7 Z# Q* O. ~
        int ret = 0;" S" e  K( M! f4 E, b
        ret = _System(cmd, a8Result, sizeof(a8Result));2 p& y' q- F' Q1 h1 Q5 U$ F& ]+ R
        printf("ret = %d \na8Result = %s\nlength = %d \n", ret, a8Result, strlen(a8Result));
+ q& n# O, R( t  d: h1 A1 [5 j* z        geTChar();7 @# V; B) c/ @2 U: Q0 e5 ?/ ^
        return 0;
4 q! Z, b+ ^6 g' a}7 N# o2 q6 z& P" B/ _) M2 K1 z* ~$ d. t
[/mw_shl_code]
3 W6 H  H1 B& p) C* O% c/ s- d
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复1

0

主题

22

回帖

52

积分

注册会员

积分
52
发表于 2021-9-2 13:55:07 | 显示全部楼层
非常好的帖子 收藏一下以便学习
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了