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

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

[复制链接]

2021-9-2 13:55:07 2365 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>
1 R0 ~( K2 R6 s/ K, }* D+ q#include <stdlib.h>1 K6 k, U1 n* p4 ^9 d: c
#include <string.h>
% h0 H; r% |" D7 E9 v 4 U5 n* X) f4 B4 U  D

2 u1 D( P! P4 H+ F6 T9 Z4 Z# X# @1 Iint _System(const char * cmd, char *pRetMsg, int msg_len)
& j2 R- \# J  O* k  I( @3 `4 h{
5 M$ I3 _8 w- t& @& B9 @$ E        FILE * fp;2 k/ Z: F! U8 S7 ^0 E( i1 i
        char * p = NULL;
) E+ g+ C$ b% S9 y( Z- o: [; U        int res = -1;
, O( v" R1 [- l% e! i# ?        if (cmd == NULL || pRetMsg == NULL || msg_len < 0)
+ M4 P! ?# @4 W) Q$ o" G! y" U: r        {
, G. n7 n1 p3 h                printf("Param Error!\n");" P" Y$ q, ~, E+ R8 {
                return -1;  s' N/ i6 a/ f, @
        }, p; r5 j! r# m$ `+ e! Q
        if ((fp = _popen(cmd, "r")) == NULL), k/ p- N/ y$ M" i  ]" w; P
        {
* ?; `4 M) `' l: \3 m2 R% g                printf("Popen Error!\n");
% F: n% i" @6 W) ]9 E                return -2;
1 k: \2 T& V1 o        }1 y3 j! N6 c8 B& ?3 |# c
        else1 o! T9 j1 E9 a9 R) ]# @; J
        {: [) k, V1 T0 X6 K; f5 ]2 l
                memset(pRetMsg, 0, msg_len);
0 n' p) z- U* y% n& N6 c                //get lastest result  ( e/ E6 Y' `. R0 r* r
                while (fgets(pRetMsg, msg_len, fp) != NULL)
* i# j7 }8 Y) F2 I) d                {
- j* O! a+ V& ~8 O2 \/ C                        printf("Msg:%s", pRetMsg); //print all info  & H8 \, f1 u! ]# A5 F) ?: h; p
                }- w: f. O6 s+ G4 D

) y9 S/ `; F6 W5 U$ ^                if ((res = _pclose(fp)) == -1)
( B9 n# ?& m9 p" I- k- i                {* y3 c' y3 F4 i- u0 [% c
                        printf("close popenerror!\n");% u' J% C6 x' h5 k8 X3 ?
                        return -3;; Z: ~- H& ^2 C& D4 i) J
                }
1 T6 F: Y4 ^! q                pRetMsg[strlen(pRetMsg) - 1] = '\0';6 L2 b* ?. @* A7 `' ^6 |+ T
                return 0;$ V5 a# Z7 K' j; T  J$ C1 K0 E
        }
' _0 P6 O' d' q: r3 u) |1 ?% A3 ^}
, x9 @. A# m( G* ~- ^ * ~! @( P0 I4 ]6 F9 X& f$ b
int main()$ J6 I: [! K" H( o- V2 e, s
{6 v  R5 F& M; A9 F. m( u5 I7 O0 y
        //test cmd  9 a* Y+ f5 I  \4 c: F' n7 [/ u9 p5 d; K. o
        char *cmd = "python d:\\PythonProjects\\Demo1.py [1]";7 d* L' [, t: J; o5 Q2 L: Y# S
        char a8Result[128] = { 0 };
* S7 b% }7 v! H( j2 b& U        int ret = 0;& C# Z* i: [0 \$ N2 n7 z. J: v! O: l
        ret = _System(cmd, a8Result, sizeof(a8Result));
' k6 {  m# g* Y! F5 b$ C        printf("ret = %d \na8Result = %s\nlength = %d \n", ret, a8Result, strlen(a8Result));
. z8 J& d" y; F6 g! o! z7 n; h        geTChar();6 O9 R; s# E5 j6 M9 Y
        return 0;& m4 U) m6 d8 f$ C$ W/ R
}
& i$ B$ t( }( M% h9 q; v[/mw_shl_code]
; R+ {  P6 C! Y" f  o7 ]2 E4 K
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了