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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
[mw_shl_code=cpp,true]#include <stdio.h>2 j& ~+ O/ p8 O  ^
#include <stdlib.h>0 I% p( k, a8 k
#include <string.h>
( J( x9 n1 l* d" Q6 S8 H: `! K . I" ^' A/ u% L' R* o# h

, L/ z! `' l, U% |3 ~int _System(const char * cmd, char *pRetMsg, int msg_len)
( \1 \; R+ J/ x! f( ^' D2 Z, Q% A{" F! L: |, h, l, Z# s! ^
        FILE * fp;. O, [* n4 W, S8 G2 x! J2 e: |
        char * p = NULL;9 i! `4 B) x5 S# O+ c+ c
        int res = -1;
4 X4 k* m! Y8 z2 }' ~5 U/ ~        if (cmd == NULL || pRetMsg == NULL || msg_len < 0)  j% Z9 E7 T) k
        {( T2 X+ M+ N: w+ x5 c$ V. `
                printf("Param Error!\n");
& \, \! _5 H) v5 X- X                return -1;
+ U8 V: g3 e. G        }1 d( a7 f. e) |
        if ((fp = _popen(cmd, "r")) == NULL)
; I) ~" \7 v+ |1 m% j) T        {
5 p. ^9 [. P3 V$ `- y* a: E+ y3 ?                printf("Popen Error!\n");6 C1 h0 h& ^1 a9 _1 z: a6 H
                return -2;
+ s7 T$ E  S5 U( ~1 e        }
2 V; q7 R6 i" G        else8 t, y6 |% y" Z( {, Z
        {0 ~! Y6 [  [- o/ ~% j
                memset(pRetMsg, 0, msg_len);
: o  S$ N3 Z4 w; Y/ B0 ~2 u) h                //get lastest result  0 M5 I$ B; L0 c4 y& y
                while (fgets(pRetMsg, msg_len, fp) != NULL)0 d6 b' m0 g& q8 d+ f
                {9 u" C( @- N' \& S/ _# b
                        printf("Msg:%s", pRetMsg); //print all info  + F# M3 p/ k" l$ R6 r
                }
) H7 e* f$ r* I; q; b9 p
2 v( O5 u! n* u% a! `& d5 G                if ((res = _pclose(fp)) == -1)8 F- ~% {3 }! i" Z; N' p# Y2 |9 a
                {
+ P' f- B% g; y2 k, r( ~                        printf("close popenerror!\n");
5 Z1 D/ \; f# H2 S  U. `                        return -3;) n$ K3 X' l. N  i! w* A: |
                }" w5 d! w. X$ w, E/ j! `/ B2 ~; l, i
                pRetMsg[strlen(pRetMsg) - 1] = '\0';
0 E: o# ?  `8 b6 r                return 0;2 C* }( S/ B" h* a1 x8 z# Z: M
        }
; `$ c1 q% `9 L; G! b}
3 h5 I' G$ y3 H* Y% \ ' K  p; @2 x- z+ X
int main()
6 c/ B0 y, U: c{! h3 M  H% p8 K0 H3 H7 ~. q) u, z4 D
        //test cmd  
& @3 u! b9 U* b1 ?4 |1 p8 G        char *cmd = "python d:\\PythonProjects\\Demo1.py [1]";
: t1 x0 t. M' }        char a8Result[128] = { 0 };1 X/ F( V, J6 E0 f
        int ret = 0;+ X" ~( F& w1 ]2 ~4 b% B# F8 `
        ret = _System(cmd, a8Result, sizeof(a8Result));5 l) I6 l- D' b% S' ]) \
        printf("ret = %d \na8Result = %s\nlength = %d \n", ret, a8Result, strlen(a8Result));
% ?- Y, z% s& c        geTChar();
+ X1 Y9 e6 \# t/ l7 q& Y        return 0;
' O9 u: ~" I3 v3 c, k: i}. C$ R; j$ i2 U: ~
[/mw_shl_code]
. F' j' D1 F& ~
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了