This is the code I have written for copying files from source to destination:
Code:
fps=open(source,O_RDONLY);
//printf("dest = %s\n\n",dest);
fpd=open(dest,O_WRONLY|O_CREAT,0777);
if(fps==-1)
{
printf("source = %s\n",source);
printf("error : fps\n");
break;
}
if(fpd==-1)
printf("error : fpd\n");
fstat(fps,&buf);
bzero(buffer,BSIZE);
filesize=buf.st_size;
while(filesize)
{
if(filesize>BSIZE-1)
{
filesize=filesize-BSIZE-1;
read(fps,buffer,BSIZE-1);
write(fpd,buffer,BSIZE-1);
bzero(buffer,BSIZE);
}
else
{
read(fps,buffer,filesize);
write(fpd,buffer,filesize);
filesize=0;
bzero(buffer,BSIZE);
}
}
This works fine for text files but problems for binary files.
Can anyone suggest changes??