system, _wsystem
执行命令。
重要
此 API 不能在 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.