|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
[mw_shl_code=cpp,true]#include <stdio.h>
# ~6 r) e4 V; |$ x( A#include <stdlib.h>' c, `; }. N2 I; F6 W) }: a
#include <string.h>
) O$ a$ G0 z3 q/ r. b " G' W: w, B: J& q% h
4 [1 \, _, x5 ^2 v
int _System(const char * cmd, char *pRetMsg, int msg_len)
( R# W: E& I, Z) Y& u B# A; b{
$ Q7 \' J3 p+ \0 k: J1 j FILE * fp;
2 O& Q8 j8 n" ~$ M5 z char * p = NULL;
) g' {* n, V2 N: ^ int res = -1;
: |3 {. Q9 C0 N5 }7 i if (cmd == NULL || pRetMsg == NULL || msg_len < 0), d, W& m% O8 j) C: C- R
{
5 l7 P" S! m6 ~ C" F" { printf("Param Error!\n");+ h) t+ e! ]0 C7 z1 J; U3 h
return -1;
' W1 v& H4 a6 J/ u0 t }5 d- V5 z# s$ G% L$ Z0 @6 `, U9 Y$ W: a
if ((fp = _popen(cmd, "r")) == NULL)
! Z* a* t7 _0 z2 N& Q t! c {1 S# ^& B0 `7 m( S( O2 h# E4 i
printf("Popen Error!\n");
% ~1 s0 C9 I X4 L return -2;
) d. E$ T+ U6 M$ [ }, I. r; D/ D3 i
else
9 W. T9 i- K' N" { {/ w' T3 l& K% }" h: I6 b3 u; P: ]
memset(pRetMsg, 0, msg_len);1 |: h( G5 i1 l+ F2 o% h0 j5 r/ j
//get lastest result
. I6 x. }$ {' K1 u while (fgets(pRetMsg, msg_len, fp) != NULL)
, p- E. k* h9 v, \" ~0 n {
& N- X1 r; y9 P: m2 x5 t$ P printf("Msg:%s", pRetMsg); //print all info
$ j5 {5 X* Z8 Z0 g( f }. J: o3 I1 A7 @$ @6 r
% s# B% F8 }# A* K& r7 Y. o/ K
if ((res = _pclose(fp)) == -1)8 C. g+ P: D1 I& w# U% w
{5 S# W& z8 b/ G' R/ `' l5 D
printf("close popenerror!\n");9 {3 Z' w* |. N/ d- W- r" J
return -3;
- F2 Q9 x( S. r0 D: n$ D }
' H, f }: @: D1 F0 D) J/ ~$ R pRetMsg[strlen(pRetMsg) - 1] = '\0';
) B. U: ^# J# `1 T" t return 0;
2 G% R d2 e. D" {% r" S' C) ]- A( L }
# j) V8 `+ t% v}
& b" Q% ?+ I/ f, C: Y* I $ }6 z q6 y; J8 s
int main()
/ E0 P, j/ p! L, Y! H" U' S2 U7 C# f{5 V7 K0 {5 Y* @. D6 e5 |
//test cmd
4 p4 e; c" o( _" J- t" h2 d char *cmd = "python d:\\PythonProjects\\Demo1.py [1]";
+ ]7 n5 U9 C8 h" s9 A: }( K$ _" X char a8Result[128] = { 0 };! H" f5 N% J1 r- r: g- `9 J
int ret = 0;( E- u+ d/ r1 W) K1 @+ U4 `, V
ret = _System(cmd, a8Result, sizeof(a8Result));8 V6 X' L1 }: {
printf("ret = %d \na8Result = %s\nlength = %d \n", ret, a8Result, strlen(a8Result));
0 Y' q1 ]3 R# p5 p: S- \ geTChar();
4 ?+ d5 f& c" x return 0;- Q/ ^2 V1 }, Z! v1 Q) ?/ ?
}8 u# `9 h3 j8 f! w3 E
[/mw_shl_code]* }2 Y3 L( W0 t$ @& k+ g
|
|