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

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

[复制链接]

2021-9-2 13:55:07 2364 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>! A4 J  {# j3 D6 d) ~2 `
#include <stdlib.h>
  E" a; H5 {0 t+ b2 g#include <string.h>4 N- v3 {, N% e! ~) ]3 x7 J9 g
1 e* g; I7 d! z& w: ~, D3 W- `

; x: Y3 I' _* dint _System(const char * cmd, char *pRetMsg, int msg_len)/ E/ i) i6 w! y8 D
{
5 V; w& ^( @2 Y+ l% O" P' |        FILE * fp;
# Y1 W! H2 `( `- k2 e* S        char * p = NULL;. }* E/ H7 d: j
        int res = -1;
0 G* C1 M+ Q9 F" J. x  X' `+ N        if (cmd == NULL || pRetMsg == NULL || msg_len < 0)" }. x  [4 h( Q' f4 @
        {7 \4 h* }0 N+ n: u. @' {# N& w) F5 g; Z
                printf("Param Error!\n");
7 p1 S) g( w' S' u( o5 o: }                return -1;
) w; |& M* }1 N1 k        }
8 h4 h6 z  E3 C0 N9 f        if ((fp = _popen(cmd, "r")) == NULL)3 r* K2 v6 k- {, [9 D
        {
: e! t) ]+ U2 q; L) }! o! \  Y0 Z5 I                printf("Popen Error!\n");8 W' R0 l5 u- k% U% w5 F7 O
                return -2;
# H3 e4 h( m- `/ q! q$ E0 E& u        }
3 X( I9 c9 k6 C' l        else. G1 @$ B% W8 }' z2 C/ U2 c+ v8 ]
        {
$ w4 N: c' w9 a1 ~6 ~# i                memset(pRetMsg, 0, msg_len);, L+ r; V( x- |% w0 X
                //get lastest result  3 U2 N/ k. A/ I. R
                while (fgets(pRetMsg, msg_len, fp) != NULL)2 q5 D- [" N9 F3 ^% J8 V  \" l
                {
& T/ s! ~* J! m4 t" g                        printf("Msg:%s", pRetMsg); //print all info  $ O1 Z+ d" f; n/ I; o
                }$ E. |3 E; C- Y6 _/ x5 G  v5 S; m

. \; C& X7 s8 U: b: d7 [; X                if ((res = _pclose(fp)) == -1)4 V+ T- v. |; j% r" r' o
                {  A2 \- ]. O3 b/ ?; d0 J4 A& o
                        printf("close popenerror!\n");
& \) ~. {6 t. b5 O                        return -3;' O0 I* G$ ^# P2 x7 P% [! h+ J
                }7 L. q9 B# S+ v3 ^" s& J8 W
                pRetMsg[strlen(pRetMsg) - 1] = '\0';2 A" o9 I# i7 ]0 A) a! S
                return 0;+ l5 [" @4 p8 n3 M' X! Y: z' Q
        }+ j" C' x( {5 V1 Q
}) h0 h4 m4 h0 u, q8 |

; o4 ?: ?6 b7 l. {9 [int main()5 D( M* a1 L' I" N! w. r
{& c& o$ e/ v/ Y; G2 ^! A
        //test cmd  3 B  _4 [$ ~0 y" |$ W* y- i3 J% l2 T
        char *cmd = "python d:\\PythonProjects\\Demo1.py [1]";+ u# B+ r1 ]3 v6 ?  b6 y
        char a8Result[128] = { 0 };
7 F/ z. |- M, R        int ret = 0;; W3 ^1 J* P. Y  z
        ret = _System(cmd, a8Result, sizeof(a8Result));
5 m+ J5 p( T; h2 N4 _        printf("ret = %d \na8Result = %s\nlength = %d \n", ret, a8Result, strlen(a8Result));, k: f3 u  h, n$ G6 U5 g
        geTChar();
( k& [) u3 ?" a8 Y: S: E* D/ V        return 0;
' d1 q; X: c0 z- [}  K2 l' u  D* u! K6 ^  A5 X
[/mw_shl_code]) X7 r1 S# ?% k2 J* F
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了