PLM之家PLMHome-国产软件践行者

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

[复制链接]

2021-9-2 13:55:07 2178 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>( D! _" U5 H) \8 I: w
#include <stdlib.h>7 E( M" ?; b0 G. ^5 e
#include <string.h>  w* f+ U2 p' {

; P" J: j2 B, g! E+ x! @" Z$ W
4 S/ K" s' N0 Y. @% Q$ U) fint _System(const char * cmd, char *pRetMsg, int msg_len)2 `) \8 a6 K1 K# y  q5 J
{
6 e, Y4 t$ W+ K" K9 v1 C        FILE * fp;0 K( Y+ Z- D/ l) \0 Q! P) I
        char * p = NULL;& H# h! m5 f  P+ \
        int res = -1;; _$ F5 ]1 i! ?5 `2 H0 U5 ]0 Z  z
        if (cmd == NULL || pRetMsg == NULL || msg_len < 0)
1 d$ g8 Y8 p5 D$ t1 ~' D        {# q  P; J( g  C& x% }/ c
                printf("Param Error!\n");: Z; h4 U3 Z2 J& U# N3 Z
                return -1;
; }' m' i# Y0 T) ~/ A        }
; c- ^( [- V" R9 K) X6 r! Z5 M, a        if ((fp = _popen(cmd, "r")) == NULL)5 K- Z( s; w' U5 B+ f
        {
8 O1 h( W) F; H/ I# D1 a                printf("Popen Error!\n");1 U1 W, M& r; |, p3 s$ q. X
                return -2;
3 W$ e+ f8 W. W/ e: Q2 Q        }
9 I& k% Q; s# {- K+ A6 G5 B' K        else
5 B% `5 J9 J* k$ z8 f4 ~8 O6 ?        {( K' U' o, I+ G
                memset(pRetMsg, 0, msg_len);6 V' D+ m4 w- L+ S  H
                //get lastest result  
: B  d6 w7 `" i3 E2 y0 j7 {6 \8 A                while (fgets(pRetMsg, msg_len, fp) != NULL); y( z5 n0 i% `# P# S
                {
2 P; X4 l4 A2 P1 r3 n) [% y' q7 v                        printf("Msg:%s", pRetMsg); //print all info  2 J4 o( z4 |: I1 u3 N
                }
9 R5 o0 U+ l, `% l  a7 a
- b1 m" A! s5 l1 u: S1 Y! L  g                if ((res = _pclose(fp)) == -1)" h$ l% [9 y$ Y* i; J3 W
                {
) o% U7 |2 Q' ~' h  Z                        printf("close popenerror!\n");
( c9 a- B' Q  S2 s0 [3 G; e) K                        return -3;
9 W/ n" _" e; D1 ]( q                }/ k, d" y1 r/ c/ B5 Q1 J
                pRetMsg[strlen(pRetMsg) - 1] = '\0';  S" K8 U5 [' M! A0 j/ m* c
                return 0;5 B1 b/ T& i+ y% l* {$ \
        }- U: O) W) A: g) z7 \- F
}
6 F2 G7 J0 E6 q! Y' o+ Z
, g- {: A& |( x5 Y8 {6 fint main()7 R5 e1 x0 |( j3 s" H- b* l$ l
{
8 M: z/ o8 n( Z7 T/ u/ l* s        //test cmd  2 O( g# B* ~5 B1 g% R  O
        char *cmd = "python d:\\PythonProjects\\Demo1.py [1]";
. C2 {. M( f' K7 D% o        char a8Result[128] = { 0 };
! O5 e3 Q3 {% h7 T        int ret = 0;
# R3 L8 s: r2 E+ |        ret = _System(cmd, a8Result, sizeof(a8Result));/ K# z- |5 p8 l$ X$ s
        printf("ret = %d \na8Result = %s\nlength = %d \n", ret, a8Result, strlen(a8Result));
% i( m$ u& T1 x, H* B' R) N9 p        geTChar();
/ Q, H+ a5 v8 k: i. \9 f: q# y+ D        return 0;
3 F' S3 f+ @, @' ]}3 H  O& U+ _* |0 j. A- d
[/mw_shl_code]. ?4 A8 E- R. c$ E$ S6 h" @
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了