#include
intmain
(int argc,
char
**ar**)
#include
#include
#include
#include
using
namespace std;
intmain()
while
(fgets
(line,
sizeof
(line)-1
, fp)
!=null)}
pclose
(fp)
;return0;
}
#include
intmain
(int argc,
char
**ar**)
獲取命令返回結果:
std::string getcmdresult
(const std::string &strcmd)
; file *pf =
null;if
((pf =
popen
(strcmd.
c_str()
,"r"))
==null
) std::string strresult;
while
(fgets
(buf,
sizeof buf, pf)
)pclose
(pf)
;unsigned
int isize = strresult.
size()
;if(isize >
0&& strresult[isize -1]
=='\n'
)// linux
return strresult;
}
#include
#include
#include
using
namespace std;
/*獲取cmd執行結果
cmdline:要執行的命令
*/char
*getcmdret
(char
* cmdline)
;int
main
(void
)char
*getcmdret
(char
* cmdline)
; security_attributes se =
; startupinfo sinfo =
;char tmpcmd[
1000000]=
,* retstr =
null
; dword dwlen =0;
string ret;
se.nlength =
sizeof
(se)
; se.lpsecuritydescriptor =
null
; se.binherithandle = true;
// 建立乙個匿名管道
createpipe
(&hread,
&hwrite,
&se,0)
; sinfo.cb =
sizeof
(sinfo)
; sinfo.dwflags = startf_useshowwindow | startf_usestdhandles;
// 這兩個常量分別用於設定隱藏視窗+輸出目標
sinfo.wshowwindow = sw_hide;
// 隱藏視窗執行
sinfo.hstdoutput = hwrite;
// 讓其輸出到這個管道去而不是輸出到控制台
sinfo.hstderror = hwrite;
// 錯誤資訊也是輸出到該管道
sprintf_s
(tmpcmd, max_path,
"cmd.exe /c %s"
, cmdline)
;createprocess
(null
, tmpcmd,
null
,null
, true,
null
,null
,null
,&sinfo,
&pinfo)
;closehandle
(hwrite)
;while
(dwlen !=-1
)else
}// 一定要加個延時,否則可能有重複資料
sleep(1
);} retstr =
(char*)
malloc
(sizeof
(char
)* ret.
length()
+1);
memset
(retstr,
0, ret.
length()
+1);
strncpy
(retstr, ret.
c_str()
, ret.
length()
+1);
return retstr;
}
#include
#include
#include
#include
#include
#include
bool execdoscmd
(char
* cmdline)
char tmpcmd[
1000000]=
;sprintf_s
(tmpcmd, max_path,
"cmd.exe /c %s"
, cmdline)
; qstring str
(tmpcmd)
; startupinfo sinfo =
; sinfo.cb =
sizeof
(sinfo)
; sinfo.dwflags = startf_useshowwindow | startf_usestdhandles;
// 這兩個常量分別用於設定隱藏視窗+輸出目標
sinfo.wshowwindow = sw_hide;
// 隱藏視窗執行
sinfo.hstdoutput = hwrite;
// 讓其輸出到這個管道去而不是輸出到控制台
sinfo.hstderror = hwrite;
// 錯誤資訊也是輸出到該管道
process_information pinfo =;if
(!createprocess
(null
,(lpwstr)str.
utf16()
,null
,null
,true,
null
,null
,null
,&sinfo,
&pinfo)
)closehandle
(hwrite)
; std::string ret;
dword dwlen =0;
char
* retstr =
null
;while
(dwlen !=
(dword)-1
)else
}// 一定要加個延時,否則可能有重複資料
sleep(1
);}closehandle
(hread)
;return true;
}int
main
(int argc,
char
*ar**)
參考 mac 終端成功執行scrapy命令
分享自己踩過的坑,願景是人類社會飛速進步!1 順利安裝scrapy命令 sudo pip install scrapy upgrade ignore installed six 2 mac環境終端執行scrapy,報錯如下 3 原因 上面的錯誤最後一行提示xmlrpc client,還是因為six模...
python 執行終端 控制台命令
import os os.system os.popen read strip 上面2種方法 是python 執行終端 控制台 命令的常見方法 os.system ping www.baidu.com 執行成功 返回 0 ping os.popen pint www.baidu.com read s...
Linux終端同時執行多個Linux命令方式
1.代表意思 表示任務在後台執行,如要在後台執行redis server,則有 redis server 表示前一條命令執行成功時,才執行後一條命令 如 echo 1 echo 2 wc l 表示上一條命令執行失敗後,才執行下一條命令,如 cat nofile echo fail 2.在一行中執行兩...