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

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

[复制链接]

2021-9-2 13:55:07 2311 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>
. q% o5 P% F& x#include <stdlib.h>  @, x$ J  \- ^
#include <string.h>
) {2 `2 {: t0 w . e, _5 Z, B& j# N& ?7 e7 m9 M$ f

8 b# J/ x' ?0 j6 @, ]int _System(const char * cmd, char *pRetMsg, int msg_len)
) y$ n/ t7 W: R9 z9 a6 y{5 ]9 n0 A  x8 T2 r& _
        FILE * fp;# e0 W4 O9 a( T
        char * p = NULL;
; j$ k$ c" T" O+ k7 x/ V, Q        int res = -1;' m) ?% O, S4 w* g6 m
        if (cmd == NULL || pRetMsg == NULL || msg_len < 0)
6 H, y- Q) v4 U# S: F        {
3 c) Z& Z9 }3 B4 e: _7 m. c                printf("Param Error!\n");
) d9 [. K( ^5 J1 C1 H7 B; |* v                return -1;% n3 V6 T- F9 y* V/ Y/ V
        }* O, b- p4 I) {- u/ M+ p
        if ((fp = _popen(cmd, "r")) == NULL)
$ `* H# ?6 t" U" J: D$ ]        {4 j2 Z% Y' f2 S
                printf("Popen Error!\n");+ ~. Z5 Y4 g0 Z% ^; e$ u( y
                return -2;
8 m  \' ]7 ?' R) o( q- {" G; F1 B8 C        }# _( X& E$ }0 C* W4 J1 H, d
        else
) J, m1 Y" x. [1 {( s        {. Z3 a' i7 W  _8 U* h7 y5 D4 p
                memset(pRetMsg, 0, msg_len);0 ~0 o9 w- r5 j/ C/ A
                //get lastest result    u, B. F  W0 w+ V
                while (fgets(pRetMsg, msg_len, fp) != NULL)
1 @- l0 b" i, G2 C/ [1 a( @) w                {
# [( o$ I5 x9 ~6 ^! ^4 I                        printf("Msg:%s", pRetMsg); //print all info  
) l9 ]6 d: d+ E# W                }
% j3 d% y" e& e1 w
8 d! `( V8 N0 X8 s% M( J8 j7 \                if ((res = _pclose(fp)) == -1)  Y4 L- M0 A/ J' l
                {2 h; Z9 W( C8 y4 R  t& \
                        printf("close popenerror!\n");: d; ~. \8 |, _* W
                        return -3;& W  I# Y, x$ @9 h
                }
* ^0 |4 ~$ r) e* R! V/ I                pRetMsg[strlen(pRetMsg) - 1] = '\0';
0 a2 B$ n" n5 @                return 0;
& F7 W% V: s& c+ }4 d* O        }0 [- Z0 Q7 `4 S" ]6 T9 Q! h
}% j7 r- K2 k* a) k4 _' b

. [( H% v! C/ j7 d8 r+ _* p4 ?( hint main()
" Y6 s7 r' X# D, m" M{; }( F# }$ W, A' b" ~( a
        //test cmd  
" f2 z4 o% W* ?; P2 L$ f1 v        char *cmd = "python d:\\PythonProjects\\Demo1.py [1]";1 Q! b2 y' `% y+ c; |" _% k: u! p
        char a8Result[128] = { 0 };
1 }; V, X7 P9 P" E# g6 J        int ret = 0;
0 \) |2 _7 [& |) k        ret = _System(cmd, a8Result, sizeof(a8Result));( x, w6 T  u, i% I: G8 M2 Z) O+ V3 p
        printf("ret = %d \na8Result = %s\nlength = %d \n", ret, a8Result, strlen(a8Result));
! i. F) \: H  J1 x$ r' Y4 W        geTChar();/ b+ N' G2 ]/ \  Z) U8 P
        return 0;
/ h" p. N6 K/ e/ I" Y8 Z}) z- ]2 U8 c, y  v
[/mw_shl_code]
( b4 C7 e/ [6 B
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了