C语言的system函数具体怎么用啊?

小弟想自己制作一张GHOST的系统盘.需要用C语言编写一段程序来调用GHOST.想用system函数,可是对system不是很了解,在实验时总是不成功.不知道有没有C(不... 小弟想自己制作一张GHOST的系统盘.需要用C语言编写一段程序来调用GHOST.想用system 函数,可是对system不是很了解,在实验时总是不成功.不知道有没有C(不是C++)高手,帮我写一段能调用外部程序(不是cmd里面的命令)的C码示例(复制过去就能直接运行的),最好配上相应的注释.先谢过了.
下面是小弟实验时写的一段代码.
//我在C盘根目录下面放了一个Fport.exe程序,这是一个在命令提示符下查看端口的软件.
#include<stdio.h>
#include<stdlib.h.
void main()
{
printf("this is a program for ports");
system("c:\fport.ex");
}
编绎运行之后并没有运行 fport.exe这个软件.
请问是为什么?
上面的
system("c:\fport.ex"); 应为 system("c:\fport.exe");
是刚才的失误,实验时并没有少写那个 e 请大家不用再指出来了
展开
 我来答
yizhongzhihu
2007-02-07
知道答主
回答量:42
采纳率:0%
帮助的人:0
展开全部
system(执行shell 命令)
表头文件 #include<stdlib.h>

定义函数 int system(const char * string);

函数说明 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 来确认执行成功。

附加说明 在编写具有SUID/SGID权限的程序时请勿使用system(),system()会继承环境变量,通过环境变量可能会造成系统安全的问题。

范例 #include<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/shadow

这是网上抄来的,还有些地方搞不清楚,请高手详细分析一下.那些信号是什么?还有,编写的程序有权限之分?有那些?
system的工作是用指针来完成的?过程呢?
就是回答者
2007-01-26
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
还有错误:#include<stdlib.h. ---> inlclude<stdlib.h>
这一处也仅是发帖时的错误吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2007-02-02
展开全部
对不起。。。我还没学到那种地步~~不能帮上你的忙~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
付出了喜悦
2007-01-24 · TA获得超过1594个赞
知道大有可为答主
回答量:2772
采纳率:50%
帮助的人:0
展开全部
呃,你应该把你的题目提在编程那块的,这块懂这方面的少啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式