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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
[mw_shl_code=cpp,true]#include <stdio.h>; k" y9 f" Q' b
#include <stdlib.h>
3 x9 s8 i0 \2 A#include <string.h>) \3 h8 E" j8 v3 u

5 {1 B& k$ z6 ?
/ i" \5 s) E$ ]- i% x: n/ Uint _System(const char * cmd, char *pRetMsg, int msg_len)6 b$ x. W# {% C# y
{
! r  W7 S! }( p+ I        FILE * fp;
% S; W5 p* I* y4 l: n3 ?  ^        char * p = NULL;
& S* j- M, Q/ e' o- R        int res = -1;
, m7 U  \5 [* Z" ?        if (cmd == NULL || pRetMsg == NULL || msg_len < 0)% \3 p0 R5 e3 U" r: M
        {* q; d  b! D) W
                printf("Param Error!\n");+ R9 `8 ~3 o( F2 _
                return -1;0 {0 e' h* p% ^$ L8 x
        }
' `) X* C) }$ ?        if ((fp = _popen(cmd, "r")) == NULL)
- p( k4 \) b! F/ m4 E# ^* s        {! t0 V' E+ \' |( ?0 k7 y" V* K
                printf("Popen Error!\n");- k: c% x1 [! k/ _6 r* X
                return -2;8 B7 w) c# y( F& {  \; z% v
        }
# S- [: w0 q1 y/ x, ^) j6 W        else) N+ |7 G  o! C2 a% j) E7 {
        {% R8 c% j. j: }+ ]& X
                memset(pRetMsg, 0, msg_len);
0 ^1 Y# b0 l( W0 R                //get lastest result  6 _6 Q- m1 S# q$ V1 x* r
                while (fgets(pRetMsg, msg_len, fp) != NULL)3 z% |: J+ m' h
                {0 V+ V) C& n3 o. b
                        printf("Msg:%s", pRetMsg); //print all info  
6 b) i8 d) i& h% ~                }9 r5 A. v) A3 M
6 {' K! }" P* m2 d+ r" M
                if ((res = _pclose(fp)) == -1)
9 J. T6 q/ u( K0 j                {; q3 G: ]4 g; j; D8 t8 d1 S$ h
                        printf("close popenerror!\n");
3 }1 D. T5 \) N( a6 n' i                        return -3;7 X0 M& O6 q+ S( i' R9 [6 \
                }9 c7 F; y% w! d1 d1 ~* `8 C& a
                pRetMsg[strlen(pRetMsg) - 1] = '\0';
; @% o, u% G7 U% \8 h- G                return 0;( N( C. i! G- Y9 N
        }( y2 W; ^" u, f7 v! e# v
}
, g0 ~, Z* S, g
% q/ N9 ?# k" Y2 u6 W7 j+ {int main()* `2 T5 g/ f6 e5 r3 c+ `; {1 F' W
{" k6 A, e7 R0 S# u
        //test cmd  
% G; O) h$ ^- x7 _$ f        char *cmd = "python d:\\PythonProjects\\Demo1.py [1]";* D# u  q* @0 B4 e. Z9 J
        char a8Result[128] = { 0 };) ?( \9 O: p6 r
        int ret = 0;
1 Q; {* x, O/ A6 y        ret = _System(cmd, a8Result, sizeof(a8Result));: x* m5 y1 K, o# B- ^# x
        printf("ret = %d \na8Result = %s\nlength = %d \n", ret, a8Result, strlen(a8Result));4 y9 u  G5 e( p$ |- u# w6 L+ q
        geTChar();
* i% k5 `$ S1 A0 q1 ^' i$ E  R        return 0;
( p* ~1 _- L- G3 ~( b  V) v}3 i8 I; R6 k1 i9 q
[/mw_shl_code], O3 g7 W' ?& a# J% h& K' x
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了