system _wsystem
執行命令。
重要
這個應用程式開發介面無法用來在 Windows 執行階段中執行的應用程式。如需詳細資訊,請參閱 CRT 函式不支援使用 /ZW。
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,函式會檢查命令直編譯器是否存在。
在呼叫 system之前,則清除由使用 fflush 或 _flushall明確—或關閉資料流。
_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 對等用法
System::Diagnostics::ProcessStartInfo 類別 (System::Diagnostics::ProcessStartInfo Class)
System::Diagnostics::Process 類別 (System::Diagnostics::Process Class)