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

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

[复制链接]

2021-9-2 13:55:07 2371 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>5 Q1 c4 I: B# ~1 _5 v) m
#include <stdlib.h>
) L- i8 d- C+ U& y#include <string.h>
( d! v7 K$ M! ^ ! R% N* J* q1 {# ?% }

2 n2 O) b0 y/ B2 }# [int _System(const char * cmd, char *pRetMsg, int msg_len). K+ g8 p8 b" c! a
{* a& B; A5 s0 f9 L, ~, K% f
        FILE * fp;
$ f( ^9 V5 s: w8 \& t% \2 s        char * p = NULL;
+ z$ q2 a8 c" a' d0 p6 c. N; _        int res = -1;6 D% ^, [* V3 M- q' f* o
        if (cmd == NULL || pRetMsg == NULL || msg_len < 0)
" `5 f) k- p& ~0 U+ t2 V        {
( n; v: b" y( v0 V% R8 y: I; ?                printf("Param Error!\n");
4 K+ G, u( `* ]0 e$ b: N" p  C$ `                return -1;" E# A) M6 [5 o9 |/ _# T' M
        }
5 }2 p/ h8 M  b2 z, L        if ((fp = _popen(cmd, "r")) == NULL)
5 \5 L9 @% h  Q- }1 v9 M        {
7 o' l" |* d4 [' ^5 s- i                printf("Popen Error!\n");% s5 h  w' P! u! C6 w6 q! w& n
                return -2;' C9 R  F5 _0 j5 C! g3 a
        }/ y# ~# x4 T/ Y: y4 j' {) S- [# S8 z
        else" \2 p- k5 I1 ]3 I- h- [9 k2 d. m
        {! t0 f/ F2 Z- `1 X0 u2 L
                memset(pRetMsg, 0, msg_len);
: z. K1 R% e( ~& D3 }% o: H                //get lastest result  
9 k* n; ^0 r" B# ^4 H# ]0 M                while (fgets(pRetMsg, msg_len, fp) != NULL)
; H$ m+ ~" @+ V; }                {
2 \: _# |$ H0 f% w! Z0 }  b                        printf("Msg:%s", pRetMsg); //print all info  
1 @0 W& b/ a/ H                }& w% p4 S) b5 y' y% W  y
' S1 Y' `2 {7 j+ t6 }
                if ((res = _pclose(fp)) == -1)8 j" C$ h$ X1 N7 F* ?
                {
8 z' ?* y! m8 o! A* p) X                        printf("close popenerror!\n");
' h0 h! U1 t  c, [7 x                        return -3;
4 P/ b6 P) ~  G                }
9 T- b6 i1 F, n. Y                pRetMsg[strlen(pRetMsg) - 1] = '\0';
5 k. I0 K: g$ l; H8 x                return 0;/ d. g& o, `. y0 d
        }
2 k  p: E) e5 x7 y2 G}
  X- m0 P# P* ?1 t* ]8 P 0 c9 b! ]4 e" V- X8 ~
int main()
/ y( ?& C/ w9 L8 L- [$ J{) d7 W8 U+ Q. x9 \. l( w
        //test cmd  8 h  w# I4 s1 H8 R$ p
        char *cmd = "python d:\\PythonProjects\\Demo1.py [1]";# a2 w7 P- o+ a& {: g
        char a8Result[128] = { 0 };
/ F5 c2 u7 w2 l7 ?3 K6 K0 @        int ret = 0;7 ~9 ~1 a: Q$ v& T
        ret = _System(cmd, a8Result, sizeof(a8Result));. J/ O& f; c* {4 e& {
        printf("ret = %d \na8Result = %s\nlength = %d \n", ret, a8Result, strlen(a8Result));; w  a" ?$ {, x9 v" M
        geTChar();, V+ ?) T2 ^; O) G2 B1 k
        return 0;
( ]5 n+ T/ J! @}
- a5 i2 e' _& n+ K/ l, f/ N  g[/mw_shl_code]& k$ N) a2 s: V4 f/ a
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了