#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int fdsrc, fddes,nbytes;
int flags=O_CREAT|O_TRUNC|O_WRONLY;
int z;
char buf[20],mysrc[20],mydes[20];
printf("输入源文件:");
scanf("%s",mysrc);
printf("请输入目标文件:");
scanf("%s",mydes);
fdsrc=open(mysrc,O_RDONLY);
if(fdsrc<0)
{
perror("open src file");
return 0;
}
fddes=open(mydes,flags,0644);
if(fddes<0)
{
perror("open des file");
return 0;
}
while((nbytes=read(fdsrc,buf,20))>0)
{
z=write(fddes,buf,nbytes);
if(z<0)
{
perror("write des file");
}
}
close(fdsrc);
close(fddes);
return 0;
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int fdsrc, fddes,nbytes;
int flags=O_CREAT|O_TRUNC|O_WRONLY;
int z;
char buf[20],mysrc[20],mydes[20];
printf("输入源文件:");
scanf("%s",mysrc);
printf("请输入目标文件:");
scanf("%s",mydes);
fdsrc=open(mysrc,O_RDONLY);
if(fdsrc<0)
{
perror("open src file");
return 0;
}
fddes=open(mydes,flags,0644);
if(fddes<0)
{
perror("open des file");
return 0;
}
while((nbytes=read(fdsrc,buf,20))>0)
{
z=write(fddes,buf,nbytes);
if(z<0)
{
perror("write des file");
}
}
close(fdsrc);
close(fddes);
return 0;
}
其中void perror(const char *s)函数运行后打印出s和出错信息。