如何在c語言中呼叫cmd命令,如何在C語言中呼叫cmd命令

2022-03-08 09:09:25 字數 2970 閱讀 1271

1樓:育知同創教育

在c語言中呼叫shell命令的方法實現。

c程式呼叫shell指令碼共有兩種方法 :system()、popen(),分別如下:

system()

不用自己去建立程序,系統已經封裝了這一步,直接加入自己的命令即可

popen() 也可以實現執行的命令,比system

開銷小以下分別說明:

1)system(shell命令或shell指令碼路徑);

system()

會呼叫fork()產生 子歷程,由子歷程來呼叫/bin/sh-c string來履行 引數string字串所代表的命令,此命令履行

完後隨即返回原呼叫的歷程。在呼叫system()期間sigchld 訊號會被暫時擱置,sigint和sigquit 訊號則會被漠視 。

返 回值:如果system()在呼叫/bin/sh時失敗則返回127,其他失敗原因返回-1。若引數string為空指標(null),則返回非零值。 如果

system()呼叫成功 則最後會返回履行 shell命令後的返回值,但是此返回值也有可能為system()呼叫/bin/sh失敗所返回的127,因

此最好能再反省 errno 來確認履行 成功 。

system命令以其簡略

高效的作用得到很很廣泛 的利用 ,下面是一個例子

例:在/tmp/testdir/目錄下有shell指令碼tsh.sh,內容為

#!/bin/sh

wget $1

echo "done!"

2)popen(char

*command,char *type)

popen()

會呼叫fork()產生 子歷程,然後從子歷程中呼叫/bin/sh -c來履行 引數command的指令。引數type可應用

「r」代表讀取,「w」代表寫入。遵循此type值,popen()會建立 管道連到子歷程的標準 輸出裝置 或標準 輸入裝置

,然後返回一個檔案指標。隨後歷程便可利用 此檔案指標來讀取子歷程的輸出裝置 或是寫入到子歷程的標準 輸入裝置 中。此外,所有應用 文

件指標(file*)操作的函式也都可以應用 ,除了fclose()以外。

返回值:若成功

則返回檔案指標,否則返回null,差錯 原因存於errno中。注意:在編寫具suid/sgid許可權的程式時請儘量避免應用

popen(),popen()會繼承環境變數,通過環境變數可能會造成系統安全的問題。

例:c程式popentest.c內容如下:

#include

main

2樓:匿名使用者

使用system()函式 或者winexec()函式 注意:system函式應包含標頭檔案,如果你想在他機上執行你的程式 應把msvcrt.dll檔案拷到你的程式目錄下(該檔案在%windir%\system32資料夾下可以找的) winexec函式為windows api 使用應包含 標頭檔案,第二個引數 可以是sw_show(顯示呼叫函式視窗),sw_hide(不顯示).

3樓:聽不清啊

c語言通過執行

system("pause");

可以執行cmd命令 pause 來暫停螢幕的滾動 或者閃退。使用者可以按任意鍵後再繼續後續的程式執行。

4樓:匿名使用者

給你個例子你就知道了!這個**是格式化d盤的意思,這裡引用的正是dos命令中的format格式化命令,其餘的命令都大同小異!!

#include

void main()

5樓:匿名使用者

使用system()函式,如呼叫dos的dir命令就寫system("dir");

記住程式開頭要加上#include

6樓:匿名使用者

#include //這個標頭檔案必須的,否則編譯器無法識別system命令!

int main()

7樓:匿名使用者

#include

#include

void main()

c語言如何執行cmd命令並獲得輸出

8樓:匿名使用者

有可能你使用的不是管理員許可權!導致命令管道開啟失敗!

c/c++怎麼讓程式執行cmd命令?

9樓:匿名使用者

system("這裡寫所要執行的cmd命令");

比如我要開啟計算機

#include「stdio.h」

void main()

10樓:匿名使用者

使用system函式,引數就是命令的c風格字串

標頭檔案是(c) (c++)

11樓:匿名使用者

在程式頭部加上#include,然後就可以用system(「字串」),來執行cmd命令了。字串就是要執行的cmd命令。比如:

shutdown -s -t 00 可以在c語言或c++中這樣表示:system("shutdown -s -t 00");

12樓:匿名使用者

#include

using namespace std;int main()return 0;

} 輸入e:\1.txt將開啟我e盤下的1.txt檔案。 你也可以輸入其他命令的:如重啟啊,關機啊什麼的·

13樓:匿名使用者

用個標頭檔案stdlib.h

然後使用system ("cmd命令")函式就成!!!

14樓:匿名使用者

比如說 cls 清屏的 , system("cls");

測試#include

int main(void)

測試

C語言中如何產生隨機數及其原理,C語言中如何產生一個隨機數及其原理

使用函式 rand 舉例 int rrr rand 100 則產生 0,99 的隨機數 使用時請增加包含檔案 include c語言怎樣產生一定範圍的隨機數?編譯環境為 vs2013 產生1到3的整型隨機數的 如下 include include include define max 3 這個函式的...

在c語言中如何用log函式啊,在C語言中如何用log函式啊?

把printf m 5.2 f n m 改為printf m 5.2f n m c語言中log函式怎麼使用啊 1 c語言中,有兩個log函式,分別 為log10和log函式,具體用法如下 2 函式名 log10 功 能 對數函式log,以10為底 用 法 double log10 double x ...

如何在c中呼叫另外專案的類,如何在c 中呼叫另外一個專案的類?

在a專案上新增引用,比如你想呼叫b專案的一些類或方法,在a專案上右鍵 新增引內用 add reference 選擇本地專案,找到容b專案後,新增引用.程式中使用using b 這樣就可以使用b中的類和方法了.祝你成功 c 如何呼叫另外一個專案的類 在a專案上新增引用,比如你想呼叫b專案的一些類或方法...