Int main()
{
int
in, out, nread, seek;
in
= open("file.in",O_RDWR);
out
= open("file.out",
O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR);
int
in2 = dup(in);
seek
= lseek(in, 0, SEEK_END);
if(write(in2,
"Some
add of data\n",
17) != 17)
write(out,"Error
writing in file.in\n",25);
else
{
lseek(in,
0, SEEK_SET);
char
buffer[1024];
if((nread
= read(in, buffer, 1024)) == 0)
{
write(1,"Error
read of file\n",
19);
exit(0);
}
write(out,buffer,nread);
lseek(in2,0,SEEK_SET);
write(in2,"\n\n",1);
struct
stat statbuf;
mode_t
modes;
stat(out,
&statbuf);
modes
= statbuf.st_mode;
if
(!S_ISDIR(modes) && (modes & S_IRWXU) = (S_IRUSR |
S_IWUSR))
write(1,
"This
is text file!\n",
19);
close(in);
close(in2);
close(out);
}
exit(0);
}