#include<stdio.h>
#include<sys/stat.h>
#include<sys/types.h>
#include<fcntl.h>
#include<unistd.h>
#include<string.h>
#define MAX 20
int main(int argc, const char *argv[])
{
umask(0);
int fp=open("./06.png",O_RDONLY);
int fg=open("./006.png",O_WRONLY|O_CREAT|O_TRUNC,0744);
if(fp<0||fg<0)
{
perror("open");
return -1;
}
char arr[MAX]="";
ssize_t res=0;
while(1)
{
bzero(arr,sizeof(arr));
res=read(fp,arr,sizeof(arr));
if(0==res)
{
break;
}
write(fg,arr,res);
}
if(close(fp)<0||close(fg)<0)
{
perror("close");
return -1;
}
printf("success\n");
return 0;
}
IO day3(复制open/close/write/read)
最新推荐文章于 2024-10-17 11:39:06 发布
该程序使用C语言编写,通过umask设置权限,然后打开源文件和目标文件进行读写操作。使用read函数读取源文件内容,并用write函数将内容写入目标文件,实现了文件的复制。最后关闭文件句柄,若无错误则输出success。
摘要由CSDN通过智能技术生成