`
Elyric
  • 浏览: 14519 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

【转】system函数用法

 
阅读更多
windows操作系统下system () 函数详解
函数名: system
功   能: 发出一个DOS命令
用   法: int system(char *command);
system函数已经被收录在标准c库中,可以直接调用 
程序例:
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
printf("About to spawn command.com and run a DOS command\n");
system("dir");
return 0;
}

linux操作系统下system () 函数详解
(执行shell 命令)
相关函数
       fork,execve,waitpid,popen
表头文件
       #i nclude<stdlib.h>
定义函数
       int system(const char * string);
函数说明
       system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string字符串所代表的命令,此命>令执行完后随即返回原调用的进程。在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT和SIGQUIT 信号则会被忽略。
返回值
   =-1:出现错误
   =0:调用成功但是没有出现子进程
   >0:成功退出的子进程的id
       如果system()在调用/bin/sh时失败则返回127,其他失败原因返回-1。若参数string为空指针(NULL),则返回非零值>。如果system()调用成功则最后会返回执行shell命令后的返回值,但是此返回值也有可能为 system()调用/bin/sh失败所返回的127,因此最好能再检查errno 来确认执行成功。
附加说明
       在编写具有SUID/SGID权限的程序时请勿使用system(),system()会继承环境变量,通过环境变量可能会造成系统安全的问题。
范例
#i nclude<stdlib.h>
main()
{
system(“ls -al /etc/passwd /etc/shadow”);
}
执行结果:
-rw-r--r-- 1 root root 705 Sep 3 13 :52 /etc/passwd
-r--------- 1 root root 572 Sep 2 15 :34 /etc/shado
例2:
char tmp[];
sprintf(tmp,"/bin/mount -t vfat %s /mnt/usb",dev);
system(tmp);
其中dev是/dev/sda1.

--------------------------------------------------------------------------------------------------
/*----------------------------------------------------------------------------*/
system("pause") 和getchar()有什么区别呢 ?

system("pause") 是调用WINDOWS CONSOLE APP下的命令 PAUSE的。
system("const char*")就是调用WINDOWS CONSOLE APP下的命令。
比如system("exit");
system("ping 192.168.0.1")等等

而getchar()只是C标准库里等待一个字符的函数,两者区别很大。

/*---------------------------------------------------*/
如何使system("pause") 不弹出“按任意键继续”这几个字呢?
用system("pause>nul"):就可以了
------------------------------------------------------------------------------------------------------------

system函数 是可以调用一些DOS命令,比如
system("cls");//清屏,等于在DOS上使用cls命令
下面列出常用的DOS命令,都可以用system函数调用:


ASSOC 显示或修改文件扩展名关联。
AT 计划在计算机上运行的命令和程序。
ATTRIB 显示或更改文件属性。
BREAK 设置或清除扩展式 CTRL+C 检查。
CACLS 显示或修改文件的访问控制列表(ACLs)。
CALL 从另一个批处理程序调用这一个。
CD 显示当前目录的名称或将其更改。
CHCP 显示或设置活动代码页数。
CHDIR 显示当前目录的名称或将其更改。
CHKDSK 检查磁盘并显示状态报告。
CHKNTFS 显示或修改启动时间磁盘检查。
CLS 清除屏幕。
CMD 打开另一个 Windows 命令解释程序窗口。
COLOR 设置默认控制台前景和背景颜色。
COMP 比较两个或两套文件的内容。
COMPACT 显示或更改 NTFS 分区上文件的压缩。
CONVERT 将 FAT 卷转换成 NTFS。您不能转换
当前驱动器。
COPY 将至少一个文件复制到另一个位置。
DATE 显示或设置日期。
DEL 删除至少一个文件。
DIR 显示一个目录中的文件和子目录。
DISKCOMP 比较两个软盘的内容。
DISKCOPY 将一个软盘的内容复制到另一个软盘。
DOSKEY 编辑命令行、调用 Windows 命令并创建宏。
ECHO 显示消息,或将命令回显打开或关上。
ENDLOCAL 结束批文件中环境更改的本地化。
ERASE 删除至少一个文件。
EXIT 退出 CMD.EXE 程序(命令解释程序)。
FC 比较两个或两套文件,并显示
不同处。
FIND 在文件中搜索文字字符串。
FINDSTR 在文件中搜索字符串。
FOR 为一套文件中的每个文件运行一个指定的命令
FORMAT 格式化磁盘,以便跟 Windows 使用。
FTYPE 显示或修改用于文件扩展名关联的文件类型。
GOTO 将 Windows 命令解释程序指向批处理程序
中某个标明的行。
GRAFTABL 启用 Windows 来以图像模式显示
扩展字符集。
HELP 提供 Windows 命令的帮助信息。
IF 执行批处理程序中的条件性处理。
LABEL 创建、更改或删除磁盘的卷标。
MD 创建目录。
MKDIR 创建目录。
MODE 配置系统设备。
MORE 一次显示一个结果屏幕。
MOVE 将文件从一个目录移到另一个目录。
PATH 显示或设置可执行文件的搜索路径。
PAUSE 暂停批文件的处理并显示消息。
POPD 还原 PUSHD 保存的当前目录的上一个值。
PRINT 打印文本文件。
PROMPT 更改 Windows 命令提示符。
PUSHD 保存当前目录,然后对其进行更改。
RD 删除目录。
RECOVER 从有问题的磁盘恢复可读信息。
REM 记录批文件或 CONFIG.SYS 中的注释。
REN 重命名文件。
RENAME 重命名文件。
REPLACE 替换文件。
RMDIR 删除目录。
SET 显示、设置或删除 Windows 环境变量。
SETLOCAL 开始批文件中环境更改的本地化。
SHIFT 更换批文件中可替换参数的位置。
SORT 对输入进行分类。
START 启动另一个窗口来运行指定的程序或命令。
SUBST 将路径跟一个驱动器号关联。
TIME 显示或设置系统时间。
TITLE 设置 CMD.EXE 会话的窗口标题。
TREE 以图形模式显示驱动器或路径的目录结构。
TYPE 显示文本文件的内容。
VER 显示 Windows 版本。
VERIFY 告诉 Windows 是否验证文件是否已正确
写入磁盘。
VOL 显示磁盘卷标和序列号。
XCOPY 复制文件和目录树
分享到:
评论

相关推荐

    C-C++中的System函数

    ### C-C++中的System函数详解 #### 一、概述 `system`函数是C和C++编程语言中用于执行外部程序或系统命令的一个强大工具。它允许开发人员直接从程序内部调用各种操作系统命令,例如清理屏幕、查看目录内容等。通过...

    C++结构体/函数定义转换C#函数定义/结构体

    - C++的模板函数无法直接转换,可能需要创建多个C#方法来模拟。 4. **DLL互操作**: - 提供的文件中有`.dll`文件(如:sigimplib.dll、sigexplib.dll、siggenui.dll),这些通常是C++编译的动态链接库。在C#中,...

    c# Draw 函数 用法

    首先,`Draw`函数通常在控件或图像对象上被调用,它属于`Graphics`类,该类是.NET Framework提供的,位于`System.Drawing`命名空间中。`Graphics`类提供了大量的方法,如`DrawLine`, `DrawRectangle`, `DrawImage`, ...

    C语言程序设计(第2版)-2期 拓展知识5-4 system函数.pdf

    本文将深入探讨system函数的使用方法和常见应用。 ### 一、system函数调用格式 system函数的基本调用格式如下: ```c int system(const char *command); ``` 这里的`command`参数是一个字符串,包含了要执行的...

    VB 数制转换函数

    下面我们将详细讨论这些函数及其用法。 1. `Hex`函数:这个函数用于将十进制数字转换为十六进制字符串。例如,`Hex(255)`将返回`"FF"`。 2. `Oct`函数:与`Hex`类似,`Oct`函数将十进制数转换为八进制字符串。例如...

    linux下system函数的简单分析

    ### Linux 下 `system` 函数的深入解析 在 Linux 系统编程中,`system` 函数被广泛用于执行外部命令。它通过调用 `fork` 和 `exec` 家族函数来创建一个子进程,并在该子进程中执行指定的命令。本文将详细解析 `...

    matlab中s函数使用方法

    在MATLAB中,S函数是System Function的简称,是Simulink环境下用于创建自定义模块的一种工具。通过编写S函数,用户能够使用MATLAB、C、C++、Fortran、Ada等多种编程语言来扩展Simulink的内置功能,实现更加复杂或...

    SystemView使用方法及实例介绍

    SystemView 软件使用方法及实例介绍 SystemView 软件是一种动态系统分析平台,用于现代工程与科学系统设计及仿真。它提供了一个友好且功能齐全的窗口环境,为用户提供了一个精密的嵌入式分析工具。SystemView 可以...

    Linux-system-functions.rar_linux_linux c++_system 函数

    "Linux-system-functions.rar"这个压缩包文件显然包含了关于Linux系统函数的详细信息,这对于理解和使用Linux系统服务进行C++编程至关重要。以下是根据标题、描述以及可能包含的文件内容提炼出的一些关键知识点: 1...

    ADIR()函数用法

    #### 二、ADIR()函数使用方法 ##### 1. 获取文件大小、修改日期及属性 例如,如果想要获取"C:\TEMP\"目录下名为"abc.DBF"的文件的信息: ```vfp X = ADIR(Myml, 'C:\TEMP\abc.DBF') IF X # 0 wjsize = Myml(1,2)...

    C语言中system&#40;&#41;函数的用法总结

    在Windows系统中,`system()`函数使用`ShellExecute()`函数来执行命令。`ShellExecute()`函数的原型如下: ```c HINSTANCE ShellExecute(HWND hwnd, LPCTSTR lpVerb, LPCTSTR lpFile, LPCTSTR lpParameters, ...

    C#图片转化函数

    2. **保存为BMP格式**:使用`System.Drawing.Image`对象的`Save`方法将其保存为BMP格式到内存流中。 3. **初始化`BitmapImage`对象**:创建一个`BitmapImage`对象,并设置其`StreamSource`属性为之前创建的内存流。 ...

    java编程主要函数的用法详解

    构造函数是类的一个特殊方法,用于初始化新创建的对象。每个类可以有一个或多个构造函数,它们的名称与类名相同且没有返回类型。例如: ```java public class MyClass { public MyClass() { // 初始化代码 } ...

    Visual C#常用函数和方法集汇总(全)

    Visual C#常用函数和方法集汇总 本文汇总了 Visual C# 中常用的函数和方法,涵盖了日期时间处理、字符型转换、变量操作、字符串操作、用户 IP 地址获取等多方面的内容。 日期时间处理 1. 取当前年月日时分秒:...

    php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)

    然而,这些功能强大的函数同时也伴随着潜在的安全风险,因此在实际应用中需谨慎使用。 `exec`函数用于执行外部程序,并返回程序的最后一个输出行。它的基本语法是`string exec(string command, array &$output, int...

    delphi日期转换函数

    在Delphi中,最常用的日期时间处理函数来自System.DateUtils单元,包括但不限于: 1. `StrToDate()`:将日期字符串转换为TDate类型,支持多种标准格式,如'YYYY-MM-DD'或'MM/DD/YYYY'。 2. `FormatDateTime()`:...

    C#函数方法集,汇总c#.net常用函数和方法集

    本文将详细解析"C#函数方法集",帮助开发者掌握C#中的常用函数和方法。 1. **基础函数与方法** C#的基础函数包括数学运算、字符串操作、数组处理等。例如,`Console.WriteLine()`用于在控制台输出文本,`Math`类...

    ADS函数大全

    根据给定的文档信息,“ADS函数大全”是一篇详尽介绍了ADS(Advanced Design System)软件中可用的各种函数的文章。ADS是一款广泛应用于射频(RF)和微波设计领域的高级仿真软件。本文档将为用户提供全面的函数使用...

    C语言进阶system函数.rar-综合文档

    system("echo 欢迎使用C语言进阶system函数!"); ``` 2. 启动记事本程序并打开一个文件: ```c char fileName[] = "example.txt"; system(("notepad " + fileName).c_str()); ``` 3. 运行命令行命令,如`dir`...

Global site tag (gtag.js) - Google Analytics