91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 8KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-09
  • 語言: C/C++
  • 標簽:

資源簡介

linux新手區:www.edsionte.com 本程序使用linux下C語言實現linux系統中常用的CP命令。本程序使用linux下C語言實現linux系統中常用的CP命令。本程序使用linux下C語言實現linux系統中常用的CP命令。本程序使用linux下C語言實現linux系統中常用的CP命令。

資源截圖

代碼片段和文件信息


/*



code?by?edsionte
www.edsionte.com






*/










#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?

int?param_r;

void?cp_single(char?*original_src_pathchar*?original_dest_path)
{
struct?stat?buf;
int?len;
char?ch[10]filename[PATH_MAX+1]dest_dir[PATH_MAX+1];
int?fdrdfdwtijk;
char?src_path[PATH_MAX+1]dest_path[PATH_MAX+1];

strcpy(src_pathoriginal_src_path);
strcpy(dest_pathoriginal_dest_path);
for(k=0;k {
if(src_path[k]==‘/‘)
break;
}
char?temp_path[PATH_MAX+1]=“./“;
if(k==strlen(src_path))
{
strcat(temp_pathsrc_path);
????????strcpy(src_pathtemp_path);
}

//extract?the?file?name?from?src_path
for(i=strlen(src_path)-1;i>0;i--)
{
if(src_path[i]==‘/‘)
break;
}
j=k=0;
for(j=i;j {
filename[k++]=src_path[j];
}
filename[k]=‘\0‘;

//check?the?if?dest?path?has?exsited
if(stat(dest_path&buf)==0)
{
//the?dest_path?exsited
if(S_ISDIR(buf.st_mode))
{
if(dest_path[strlen(dest_path)-1]==‘/‘)
dest_path[strlen(dest_path)-1]=‘\0‘;
strcat(dest_pathfilename);
}
/*
???if?the?path?is?not?a?directory?and?it?means?that?the?file?has?existed.
???copying?the?src?file?to?this?exist?file?will?cover?the?current?content.
?*/
}
else
{
/*
???this?code?is?not?exact
???it?can?not?check?the?legality?of?the?directory?
???such?as?“~/existdirectory/nothisdirectory/nothisfile“
?*/

????????/*
if(dest_path[strlen(dest_path)-1]==‘/‘)
{
printf(“my_cp:can‘t?create?the?file:\“%s\“:it?is?a?directory.\n“dest_path);
exit(1);
}
*/


//the?dest_path?didn‘t?exsit
for(i=strlen(dest_path)-1;i>=0;i--)
{
if(dest_path[i]==‘/‘)
break;
}
if(i>=0)
{
strncpy(dest_dirdest_pathi+1);
????????if(stat(dest_dir&buf)==-1)
???????????? ?{
????????? printf(“my_cp:accessing:\“%s\“?:it?is‘t?a?directory.\n“dest_path);
????????exit(1);
??????????????? }
}

}
//fistly?the?content?which?was?read?from?srouce?file?will?be?write?to?dest?file
if((fdrd=open(src_pathO_RDONLY))==-1)
{
perror(“open“);
exit(1);
}
if(lseek(fdrd0SEEK_END)==-1)
{
perror(“lseek“);
exit(1);
}
if((len=lseek(fdrd0SEEK_CUR))==-1)
{
perror(“lseek“);
exit(1);
}
if(lseek(fdrd0SEEK_SET)==-1)
{
perror(“lseek“);
exit(1);
}
//open?the?dest?file
if((fdwt=open(dest_pathO_CREAT|O_TRUNC|O_RDWRS_IRWXU))==-1)
{
perror(“open“);
exit(1);
}
close(fdwt);
if((fdwt=open(dest_pathO_WRONLY|O_APPEND))==-1)
{
perror(“open“);
exit(1);
}

while(len-->0)
{
//write?all?characters?to?dest?file
if(read(fdrdch1)!=1)
{
perror(“read“);
exit(1);
}
if(write(fdwtch1)!=1)
{
perror(“write“);
exit(1);
}

}

//get?src?file‘s?attributes
if(fstat(fdrd&buf)==-1)
{
perror(“fstat“);
exit(1);
}

評論

共有 條評論

相關資源