日期:2014-05-16  浏览次数:20500 次

在使用main时怎样执行参数的命令
int main(int argc, char* argv[])
{
  system(argv[1]);
  return 0;
}
当执行程序时,传递了参数argv[1]="exit(0)" ,在这种情况下该怎样执行argv[]中的内容呢?如果传递的参数是getpid()呢?

------解决方案--------------------
system 执行的是一个命令,不是一个函数
你传递一个exit(0)或者getpid(),它执行不了
------解决方案--------------------
只写关键部分代码
C/C++ code

int main(int argc, char* argv[])
{
  int which;
  system(argv[1]);
  which = atoi(argv[1]);

  switch(which)
 {
    case 1:
       //**********
       break;
    case 2:
       //**********
       break;
 }
  return 0;
}

------解决方案--------------------
函数exit(0),getpid()
改为命令exit,getpid
system 在文件中执行/bin/sh调用的命令,不是函数。