PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

2021-9-2 13:55:07 2330 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>
" e+ _/ ?. n; X2 K3 Y8 K: J6 o#include <stdlib.h>
4 B0 ]' v; I$ W$ r#include <string.h>. \+ C5 [. q* B9 v

& n) W+ L* W+ f  a1 ~
% S. {* ]; @$ B; }int _System(const char * cmd, char *pRetMsg, int msg_len)" v% U: A/ \3 ~' v* g1 @5 R
{' u- T% _1 b6 f, s
        FILE * fp;  n5 p# ^* J3 P- ^- x! W/ _
        char * p = NULL;+ M0 Z4 ^7 q  B- c3 J  S
        int res = -1;
; x; w, y! l0 A- y/ v) }* C; |        if (cmd == NULL || pRetMsg == NULL || msg_len < 0)6 `  ~6 V) `4 c0 v
        {
5 g- V9 `! I/ \) e! f                printf("Param Error!\n");, j5 e2 y/ u+ ?% J; d" _
                return -1;' s6 K- K$ a9 K/ G5 G$ n0 f+ X
        }& K6 z+ q- t2 n/ p2 b
        if ((fp = _popen(cmd, "r")) == NULL)
% ^$ s( s4 Z1 l4 ^, H        {- ]8 Z# e& l6 E% l
                printf("Popen Error!\n");1 N& |9 C9 u6 m' P0 g
                return -2;4 t7 f3 \9 t  N7 [5 t
        }
: u1 ~5 t/ X4 y; A* B        else- }# _5 K% F2 ~6 `
        {
1 I# D- H# M6 }5 q0 P- r  F                memset(pRetMsg, 0, msg_len);
5 J. p0 J7 F; U' N6 ^# q3 P( r                //get lastest result  
- S: Z- Y  U/ i6 `0 [; Z5 T                while (fgets(pRetMsg, msg_len, fp) != NULL)9 p3 x3 v1 p7 i  U: l( Z
                {
6 |! R' O, Z( }) U% c5 t                        printf("Msg:%s", pRetMsg); //print all info  
; f! e! @0 {1 i# ?                }
2 B9 t$ ]1 P0 w, S: T 7 S# @4 x3 ~8 g
                if ((res = _pclose(fp)) == -1)3 z+ p+ `8 y) l% o. M& T0 ^+ W- I
                {
, T: W% t, A* i2 ~  G8 B' ]                        printf("close popenerror!\n");
' T. S6 E+ _7 |6 d4 s4 A- l                        return -3;
; Y1 x: v5 K  e4 o1 j* q                }; v' E/ O2 [6 E) [  t0 [( F
                pRetMsg[strlen(pRetMsg) - 1] = '\0';( C! E# W) @; n. v9 L, _
                return 0;: e' t* K0 s% J& M1 g* a$ M
        }
* r; m# O( O) y, O$ V6 ?. b}8 p8 `. e% J+ U- f% E. y- s9 q+ U+ ~

5 p) M" F- ^2 ~/ a5 n5 N3 A" mint main()
% g& |1 A- E$ A! @{
9 V3 E( ?( ^: ?3 @# `; s        //test cmd  
1 m$ B) _/ a9 t! x! ~& d        char *cmd = "python d:\\PythonProjects\\Demo1.py [1]";* ]+ [2 a7 `$ a* q2 i3 @2 X: S% b
        char a8Result[128] = { 0 };0 [: j% B6 x) n, X) T
        int ret = 0;! [( f% X' s/ O
        ret = _System(cmd, a8Result, sizeof(a8Result));
- K- V* `% _- a        printf("ret = %d \na8Result = %s\nlength = %d \n", ret, a8Result, strlen(a8Result));
- u  `& K( x% A0 b9 c/ _        geTChar();
8 Q7 q8 G0 j6 [# T( c7 S3 U/ I; p        return 0;
- V1 L6 R1 p' X/ i, _0 j( t9 D}, U( F& d9 z% e9 o
[/mw_shl_code]( N/ c6 Q% a3 C, e
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了