首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

system调用shell有关问题,

2012-03-02 
system调用shell问题,急在C中调用SYSTEM执行SHELL命令,SHELL命令里有N个参数(N不定)而传递给SHELL的参数在

system调用shell问题,急
在C中调用SYSTEM执行SHELL命令,SHELL命令里有N个参数(N不定)
而传递给SHELL的参数在一个字符串里,不同参数以空格隔开,
如何作?举个简单例子,第一次搞SHELL,很急

[解决办法]
sprintf ( cmdstr , "%s " , shellcmd );
for ( i = 0 ; i < N ; i ++ )
{
strcat ( cmdstr , parameter[i] );
strcat ( cmdstr , " " );
}
system ( cmdstr );
[解决办法]
int main(int argc,char **argv)
{
char buf[1024];
int i;
memset(buf,0,sizeof(buf));
strcpy(buf, "echo ");
for(i=1;i <argc;i++)
{
strcat(buf,argv[i]);
strcat(buf, " ");
}
system(buf);
}

[解决办法]
我想楼主是这个意思。

int main()
{
system( "mkdir test1 ");
system( "ls -l ");

char strshell[] = "rm ";
char strarg[] = "-r test1 ";
char strcmd[255];

sprintf(strcmd, "%s %s ", strshell, strarg);

system(strcmd);
system( "ls -l ");
}

SYSTEM执行SHELL命令, //strshell[]里面存shell名
SHELL命令里有N个参数(N不定,
而传递给SHELL的参数在一个字符串里,不同参数以空格隔开, //存在strarg[]中。

热点排行