1、 用read write函数实现文件拷贝
#include <stdio.h>
#include "/home/ubuntu/head.h"
int main(int argc, const char *argv[])
{
int fd=open("./read.txt",O_RDONLY);
if(fd<0)
{
perror("open");
return -1;
}
int wd=open("./write.txt",O_RDWR);
if(wd<0)
{
perror("open");
return -1;
}
char buf[128]="";
ssize_t res=0;
while((res=read(fd,buf,sizeof(buf)-1)) !=0)
{
write(wd,&buf,sizeof(buf));
bzero(buf,sizeof(buf));
}
return 0;
}
2、要求将当前路径下,所有文件的权限及最后一次的访问时间提取出来,写入到file.txt中
#include <stdio.h>
#include "/home/ubuntu/head.h"
int main(int argc, const char *argv[])
{
//打开文件夹
DIR* p=opendir("./");
if(NULL==p)
{
perror(opendir);
return -1;
}
struct stat buf;
//读取文件夹
struct dirent* rp=NULL;
while(1)
{
rp=readdir(p);
if(NULL==rp)
{
break;
}
if(stat("./rp->d_name",&buf)<0)
{
perror(stat);
return -1;
}
//打开写入目标文件
int fd=open("rp->d_name",O_WRONLY);
if(fd<0)
{
perror("open");
return -1;
}
//提取文件的权限
int a=buf.st_mode;
write(fd,&a,sizeof(a));
//提取最后一次访问时间
int b=buf.st_ctime;
write(fd,&b,sizeof(b));
}
return 0;
}