共用方式為


system、_wsystem

執行命令。

重要

這個應用程式開發介面不能用於 Windows 執行階段 中執行的應用程式。如需詳細資訊,請參閱 /ZW 不支援 CRT 函式

int system(
   const char *command 
);
int _wsystem(
   const wchar_t *command 
);

參數

  • command
    要執行的命令。

傳回值

如果 command 是 NULL ,並尋找命令的編譯器,傳回非零的值。 如果命令是編譯器找不到傳回 0,並將 errno 設定為 ENOENT。 如果 command 不是 NULL, system 會傳回由命令直編譯器傳回的值。 在命令中會傳回值 0,則會傳回值 0。 傳回值為 1 表示錯誤,因此, errno 會設為下列其中一個值:

  • E2BIG
    依系統而定) 的引數清單 (太大。

  • ENOENT
    找不到命令直編譯器。

  • ENOEXEC
    因為格式無效,命令解譯器檔案無法執行。

  • ENOMEM
    沒有足夠的記憶體可用執行命令;或可用記憶體損毀;或不是有效的區塊存在,表示將呼叫不正確的工作流程。

如需有關這些錯誤碼和其他錯誤碼的詳細資訊,請參閱 _doserrno、errno、_sys_errlist 和 _sys_nerr

備註

system 函式會將 command 傳遞至命令的編譯器,執行字串做為作業系統命令。 system 使用 COMSPEC 和 PATH 環境變數尋找命令解譯器檔案 CMD.exe。 如果 command 是 NULL,函式會檢查命令直編譯器是否存在。

您必須明確地清除─使用 fflush 或 _flushall─ 或在您呼叫 system 函式之前關閉資料流。

_wsystem 是 system 的寬字元版本。 _wsystem 的 command 引數是寬字元字串。 這三個函式其餘部分的運作相同。

一般文字常式對應

TCHAR.H 常式

_UNICODE & _MBCS 未定義

_MBCS 已定義

_UNICODE 已定義

_tsystem

system

system

_wsystem

需求

常式

必要的標頭

system

<process.h> 或 <stdlib.h>

_wsystem

<process.h>或 <stdlib.h> 或 <wchar.h>

如需其他相容性資訊,請參閱 相容性

範例

這個範例會使用 system 的文字檔。

// crt_system.c

#include <process.h>

int main( void )
{
   system( "type crt_system.txt" );
}

輸入:crt_system.txt

Line one.
Line two.

Output

Line one.
Line two.

.NET Framework 對等用法

請參閱

參考

流程控制和環境控制

_exec、_wexec 函式

exit、_exit

_flushall

_spawn、_wspawn 函式