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

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

[复制链接]

2021-9-2 13:55:07 2297 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>
3 B* d: h$ [( i; ?4 {: L' T& Z#include <stdlib.h>. ~8 G$ N- Z; X( x
#include <string.h>
  |- {( j  ~9 H , U1 y8 ^2 U! A; w! `+ s" C1 d

, p! X  x: Z0 ]; ?; k1 w7 ^int _System(const char * cmd, char *pRetMsg, int msg_len)
0 L4 s) r1 O* z# u3 `6 n{4 [5 f% E; S: K0 p
        FILE * fp;
! L% J$ X- b% G& J7 R8 Q        char * p = NULL;  x: f9 j9 b0 V& i
        int res = -1;
# c4 ~. @+ U* m        if (cmd == NULL || pRetMsg == NULL || msg_len < 0)
  m7 s. R4 K: U5 z, V        {- B- M) W4 b  O; G
                printf("Param Error!\n");
  D2 g6 C1 Z0 i6 [* ?. @                return -1;3 L- r" ~) |$ M( }+ I
        }
4 F7 L  G( d2 ^# h# B        if ((fp = _popen(cmd, "r")) == NULL)6 @0 h5 [8 C( n* r$ c/ `) ~
        {# p. X* {5 B4 ]+ L
                printf("Popen Error!\n");# s; o* j( ~, w& V. |: C
                return -2;
! @7 r- T! X. I$ }4 I9 X5 T  \        }* B5 j" z: t) o  n* I- r
        else9 s2 t- z% ?) V5 R# b/ ~
        {' d- i4 i3 D2 o) h$ ~: `1 m. g
                memset(pRetMsg, 0, msg_len);7 `  ]; n# Z6 M/ O( s- B
                //get lastest result  9 z7 h2 E1 \1 I+ b
                while (fgets(pRetMsg, msg_len, fp) != NULL)
. U/ q. e- d3 q% z! N$ @, }9 P8 ]                {
/ m, n' T6 K0 t5 }+ Y" [2 ]                        printf("Msg:%s", pRetMsg); //print all info  8 O% w, V4 ~0 d1 x
                }+ b/ }& n, [& n- T
( P3 b% ]8 x3 b8 B2 Z) O! J! R
                if ((res = _pclose(fp)) == -1)
8 r4 c9 l. v' W6 z5 |                {
& h  S3 w1 k3 R1 C/ j- D$ d6 s$ z; e                        printf("close popenerror!\n");
! s& y& o/ A/ H                        return -3;
5 n- t2 T) I) F5 ^$ L* b                }% N& B+ b  e) \% w
                pRetMsg[strlen(pRetMsg) - 1] = '\0';* `, A( c. `' `  Y' ?) ^# e6 X
                return 0;+ `, |9 E" O2 z$ Y; p
        }; S& M5 F5 c& L. q& `& I
}+ {! ^6 o' m$ V: b) I
& O# j; j8 w/ ?( Y2 b" T1 S
int main()
: `+ ?& R7 f0 ]* u% J& s! l& h{6 m- l% T9 i, N+ P* C  U
        //test cmd  ! ~' o. _9 v4 q5 x9 K$ [
        char *cmd = "python d:\\PythonProjects\\Demo1.py [1]";# O3 [) o# I: N) h- Q
        char a8Result[128] = { 0 };
' b7 G# Z) z4 u- Q0 \        int ret = 0;
8 R' z: b( r0 K9 Y# x) o        ret = _System(cmd, a8Result, sizeof(a8Result));. l1 L4 z% m3 ~3 S! x% F  {
        printf("ret = %d \na8Result = %s\nlength = %d \n", ret, a8Result, strlen(a8Result));! J, N( T4 s' g3 U: `
        geTChar();/ E* b0 ?3 U6 D) [) w
        return 0;
- W4 |. }! e" H, S" Y+ V, O; q}
7 l1 e, T+ M  X0 |# e' }/ Z+ Y4 j, n[/mw_shl_code]
8 I- M- H1 |" r/ e4 J" T& `
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了