注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

A small step

Judgement Must

 
 
 

日志

 
 
关于我

不要因为急着赶路,让自己的步伐杂乱。远方是既定的目标,但路上才是最重要的经历!

网易考拉推荐

execl --lib  

2015-04-15 15:58:09|  分类: Linux C |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
相关函数:fork, execle, execlp, execv, execve, execvp

头文件:#include <unistd.h>

定义函数:int execl(const char * path, const char * arg, ...);

函数说明:execl()用来执行参数path 字符串所代表的文件路径, 接下来的参数代表执行该文件时传递过去的argv(0), argv[1], ..., 最后一个参数必须用空指针(NULL)作结束.

返回值:如果执行成功则函数不会返回, 执行失败则直接返回-1, 失败原因存于errno 中.

范例
#include <unistd.h>
main()
{
    execl("/bin/ls", "ls", "-al", "/etc/passwd", (char *)0);
}


执行:
/*执行/bin/ls -al /etc/passwd */
-rw-r--r-- 1 root root 705 Sep 3 13 :52 /etc/passwd




#include <stdio.h>
#include <stdlib.h>
#include <string.h>//strcat()的头文件
#include <unistd.h>//int execl()的头文件
void copy();
void move();
void rm();
int main()
{
  char c;
  puts("Please choose one of the following:");
  printf("1)copy\t2)move\n3)del\t4)quit\n");
  printf("Enter your choose:");
  scanf("%c",&c);
  /*if(c!='1'||c!='2'||c!='3'||c!='4')
 *     puts("Option Wrong");
 *       else*/
  switch(c)
  {
    case '1':copy();break;
    case '2':move();break;
    case '3':rm();break;
    case '4':;break;
    default:puts("Option error!");break;
  }
}

void copy()
{
  char from[50],file[50],to[50]; 
  puts("Path:");
  scanf("%s",from);
  gets(from);
  puts("filename:");
  scanf("%s",file);
  //gets(file);
  strcat(from,file);
  puts("To:");
  scanf("%s",to);
  //gets(to);
execl("/bin/cp","cp",from,to,(char *)0);
}

void move()
{
 char from[50],file[50],to[50];
  puts("Path:");
  scanf("%s",from);
  puts("filename:");
  scanf("%s",file);
  strcat(from,file);//把file连接到from后面
  printf("the filepathname is %s\n",from);
  puts("To:");
  scanf("%s",to); 
execl("/bin/mv","mv",from,to,(char *)0);
}

void rm()
{
  char file[50];
  system("echo \"Need to be deleted files\"");
  puts("filename:");
  scanf("%s",file);
  execl("/bin/rm","rm","-f","file",(char *)0);
  //system("cat -nb ./menu.c");
}

  评论这张
 
阅读(2)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018