论坛: 编程破解 标题: 最简单的cp 复制本贴地址    
作者: cimsxiyang [cimsxiyang]    版主   登录
代码:

#include <stdio.h>
#include <sys/fcntl.h>
#include <sys/syscall.h>
#define PERMS 0666

main(int argc,char **argv)
{
      int f1,f2,n;
      char buf[BUFSIZ];

     if (argc!=3)
          printf("usage: cp from to,\n");
     if ((f1=open(argv[1],O_RDONLY,0))==-1)
          printf("cant open the file:%s \n",argv[1]);
     if ((f2=creat(argv[2],PERMS))==-1)
         printf("cant create the file %s ,mode %s \n",argv[2],PERMS);
         while ((n=read(f1,buf,BUFSIZ))>0)
                if (write (f2,buf,n)!=n)
                    printf("write file %s error \n",argv[2]);
         return 0;
}


大家可以把PERMS换成从目录获取。定义error,把printf换掉。
ENV:freebsd4.7+vmware+windows2000

地主 发表时间: 11/22 19:55

回复: xiean [xiean]   论坛用户   登录
还可以更简单的,不需要 buffer 啊

直接按二进制单字节一个一个扔过去嘛。。。。fputc(fp, fgetc(...

文件结束用 feof 判断

我记得不太清楚,说错了别笑~

B1层 发表时间: 12/01 03:31

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号