请教一下system函数的用法
我想在c语言中调用mount命令,可不可以采用下面的语句呢。
char *tmp;
sprintf(tmp,"/bin/mount -t vfat %s /mnt/usb",dev);
system(tmp);
其中dev是/dev/sda1。
这样可以实现吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在读程序的时候,经常会看到exit函数,例如exit(0),exit(-1),exit(-2)等,
它们各自代表什么意思呢,之间的区别是什么?
>>
>>
>>答案是可以。参考如下:
>>
>>
NAME
system - execute a shell command
SYNOPSIS
#include <stdlib.h>
int system(const char *string);
DESCRIPTION
system() executes a command specified in string by calling /bin/sh -c
string, and returns after the command has been completed. During exe‐
cution of the command, SIGCHLD will be blocked, and SIGINT and SIGQUIT
will be ignored.
RETURN VALUE
The value returned is -1 on error (e.g. fork failed), and the return
status of the command otherwise. This latter return status is in the
format specified in wait(2). Thus, the exit code of the command will
be WEXITSTATUS(status). In case /bin/sh could not be executed, the
exit status will be that of a command that does exit(127).
If the value of string is NULL, system() returns nonzero if the shell
is available, and zero if not.
system() does not affect the wait status of any other children.
应该可以的,最好命令行后加"&",让其后台执行.
char *,应改成char str[256];否则存在溢出问题!
[ 本帖最后由 aiwin28 于 2006-8-18 19:41 编辑 ]