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

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

[复制链接]

2021-9-2 13:55:07 2393 1

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2019-12-17 08:23:05 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
[mw_shl_code=cpp,true]#include <stdio.h>
" d) U0 B9 {/ M( r8 f1 H/ W#include <stdlib.h>/ R9 P5 \' f0 H/ n4 a
#include <string.h>
( W7 |2 l: q3 D6 C7 x+ P2 f4 Y 7 A  K* M5 F2 W7 s5 z
2 J, |% ]# a5 |: T
int _System(const char * cmd, char *pRetMsg, int msg_len)% i' D2 L6 j4 J5 y$ O9 V! L
{
$ a) A3 a( J, p9 @; Y0 j) m        FILE * fp;& g! ^' s5 v- e# s: l8 V2 X
        char * p = NULL;( ?$ N; e; l; Y" \
        int res = -1;
( y) R: _6 j. ?# S- `( o        if (cmd == NULL || pRetMsg == NULL || msg_len < 0)
. N: j% c; n& a3 ]5 A        {/ j9 ^2 r8 I5 r  k2 i$ e0 _6 m
                printf("Param Error!\n");
6 C. \: D4 F% r" k0 F2 e                return -1;$ q; b/ m+ Y) k0 F8 q7 M
        }
) K' ^* }6 _0 d% s1 ?0 t/ u        if ((fp = _popen(cmd, "r")) == NULL)
1 @! X" B& B, @4 D+ ^7 P3 w0 d4 O        {
: O$ Q* Z. ^% c) l4 i; ^                printf("Popen Error!\n");. r  P1 B$ K: _* _  x0 c/ B: R
                return -2;
3 }' K3 y0 ^* }, _, V' s( v        }0 u. |( v, a2 F
        else: P3 Q6 D+ o) M% c, z& ]
        {3 Y+ Q7 g6 H; g. [5 e1 z  W0 O
                memset(pRetMsg, 0, msg_len);2 E* C: l+ k' V& X! g
                //get lastest result  
  ~; k5 ?* |0 k                while (fgets(pRetMsg, msg_len, fp) != NULL)
7 z& P% p7 m  {- s6 v1 [                {
+ R' C. S+ |4 h6 U                        printf("Msg:%s", pRetMsg); //print all info  
3 j: p9 M' G# h# N5 j* H7 e                }/ U9 ~6 X, W! Y- W# ^! o

/ S. ?% W! \" h, N                if ((res = _pclose(fp)) == -1)
9 c- }& b0 P! a7 [                {9 O/ n- @2 X( E* `9 S
                        printf("close popenerror!\n");
1 B7 u2 T* O- [0 e5 f8 n8 ], L" A                        return -3;
9 a, Q' X* D3 B7 d" q! ^  U; N                }  t4 F$ |2 _5 d
                pRetMsg[strlen(pRetMsg) - 1] = '\0';, x) c# g* x3 h  N1 ?" J3 `
                return 0;
+ D( O& O8 m$ `9 a. c        }
4 L7 u1 O, T! v- u: U1 U}
2 C* m4 H  N  w, G
+ Z$ ]( F$ H( _) n" s" Y" ]int main()
) J* {- {. a7 {2 b! n{' n8 L& z0 @$ @% q& l# X# q; B! ^
        //test cmd  # n  I* H+ X; k$ i" }# n
        char *cmd = "python d:\\PythonProjects\\Demo1.py [1]";" M# ^9 U9 K; w! E* h
        char a8Result[128] = { 0 };
% M- H" |; b( G! Q! M        int ret = 0;/ Z( O) ~' f) l" B3 @7 D
        ret = _System(cmd, a8Result, sizeof(a8Result));7 U# k6 Z9 o, _7 p( S2 p
        printf("ret = %d \na8Result = %s\nlength = %d \n", ret, a8Result, strlen(a8Result));
' K. `: Y5 R# S        geTChar();
+ P' Y! g9 j5 d# X        return 0;
" U$ E* Y  o! t6 P1 R- ?}  B/ n3 Z; I, z6 u9 u9 {0 ]
[/mw_shl_code]
$ l" Y: m  ~8 I. a% Z+ \2 [9 ^/ p1 m
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复1

0

主题

22

回帖

52

积分

注册会员

积分
52
发表于 2021-9-2 13:55:07 | 显示全部楼层
非常好的帖子 收藏一下以便学习
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了