Below is the code
int main()
{
int fd1, fd2;
struct stat buff1, buff2;
fd1 = open(“1.txt”, O_RDWR);
fd2 = open(“2.txt”, O_RDWR | O_APPEND);
lseek(fd1, 10000, SEEK_SET);
write(fd1, “abcdefghij”, 10);
write(fd2, “abcdefghij”, 10);
fstat(fd1, &buff1);
fstat(fd2, &buff2);
printf(“ %d %d”, buff1.st_size, buff2.st_size);
return 0;
}
Before running the program, the file 1.txt and 2.txt size is 20 each. What is the output?
int main()
{
int fd1, fd2;
struct stat buff1, buff2;
fd1 = open(“1.txt”, O_RDWR);
fd2 = open(“2.txt”, O_RDWR | O_APPEND);
lseek(fd1, 10000, SEEK_SET);
write(fd1, “abcdefghij”, 10);
write(fd2, “abcdefghij”, 10);
fstat(fd1, &buff1);
fstat(fd2, &buff2);
printf(“ %d %d”, buff1.st_size, buff2.st_size);
return 0;
}A. 30 30
B. 100020 20
C. 100030 30
D. 100010 30
Answer: Option D

Join The Discussion