Search Pattern

  Home  Operating System Linux  Search Pattern


“Linux Search Pattern frequently Asked Questions by expert members with experience in Search Pattern. These questions and answers will help you strengthen your technical skills, prepare for the new job test and quickly revise the concepts”



45 Search Pattern Questions And Answers

12⟩ What is the output of this program? #include<stdio.h> #include<fcntl.h> int main() { int fd, fd2, ret; fd = open("san.c",O_RDONLY); ret = close(fd2); printf("%dn",ret); } a) 0 b) 1 c) -1 d) none of the mentioned

c) -1

Explanation:

The "close" system call closes a file descriptor but in the program "fd2″ in not a file descriptor. Hence close system call returns -1.

Output:

[root@localhost google]# gcc -o san san.c

[root@localhost google]# ./san

-1

[root@localhost google]#

 159 views

13⟩ What is the output of this program? #include<stdio.h> #include<stdlib.h> #include<fcntl.h> int main() { int fd, new_fd; char *buff; buff = (char *)malloc(sizeof(char)*8); fd = open("san.c",O_RDONLY); new_fd = dup(fd); close(fd); read(new_fd,buff,8); printf("%sn",buff); } a) this program will not print anything b) this program will print "#include" c) this program will give the segmentation fault d) this program will give the syntax error

b) this program will print "#include"

Explanation:

The "dup" system creates the a copy of the file descriptor.

Output:

[root@localhost google]# gcc -o san san.c

[root@localhost google]# ./san

#include

[root@localhost google]#

 156 views

14⟩ What is the output of this program? #include<stdio.h> #include<fcntl.h> int main() { int fd, count; char ch[10]; fd = open("google.txt",O_RDWR|O_CREAT); write(fd,"linux",5); lseek(fd,2,SEEK_END); write(fd,"san",3); lseek(fd,0,0); count = read(fd,ch,10); printf("%sn",ch); return 0; } a) linux b) linuxsan c) linux san d) none of the mentioned

a) linux

Explanation:

The lseek function allows the file offset to be set beyond the end of the file and if the data is latter written this point, subsequent reads of the data in the gap returns NULL.

Output:

[root@localhost google]# gcc -o san san.c

[root@localhost google]# ./san

linux

[root@localhost google]#

 166 views

15⟩ Tell me what is the output of this program? #include<stdio.h> #include<fcntl.h> int main() { int fd, count; char ch; fd = open("google.txt",O_RDWR|O_CREAT); write(fd,"s",1); lseek(fd,0,SEEK_SET); write(fd,"d",1); lseek(fd,0,0); read(fd,&ch,1); printf("%cn",ch); return 0; } a) d b) s c) sd d) none of the mentioned

d) none of the mentioned

Explanation:

Because of "lseek" system call the character "s" is overwritten by character "d" in the file "google.txt".

Output:

[root@localhost google]# gcc -o san san.c

[root@localhost google]# ./san

d

[root@localhost google]#

 149 views

16⟩ Do you know what is the output of this program? #include<stdio.h> #include<stdlib.h> #include<fcntl.h> int main() { int fd; char *buff; buff = (char *)malloc(sizeof(char)*5); fd = open("google.txt",O_RDWR|O_CREAT); write(fd,"Linux",5); read(fd,buff,5); printf("%sn",buff); } a) it will print nothing b) it will print the string "Linux" c) segmentation fault d) none of the mentioned

a) it will print nothing

Explanation:

We have to use "lseek" system call if we want to read the file from the beginning just after writing into it.

Output:

[root@localhost google]# gcc -o san san.c

[root@localhost google]# ls

san san.c

[root@localhost google]# ./san

[root@localhost google]# ls

san san.c google.txt

[root@localhost google]# vim google.txt

[root@localhost google]#

 153 views

17⟩ Tell us what is the output of this program? #include<stdio.h> #include<stdlib.h> #include<fcntl.h> int main() { int fd, count; char ch, *buff; buff = (char *)malloc(sizeof(char)*10); fd = open("san.c",O_RDONLY); count = read(fd,buff,5); printf("%dn",count); return 0; } a) 5 b) 10 c) 0 d) -1

a) 5

Explanation:

The "read" system call returns the number of bytes successfully read.

Output:

[root@localhost google]# gcc -o san san.c

[root@localhost google]# ./san

5

[root@localhost google]#

 158 views

18⟩ What is the output of this program? #include<stdio.h> #include<fcntl.h> int main() { int fd, count; fd = open("san.c",O_RDONLY); count = write(fd,"Linux",5); if(count != 5) perror("write"); return 0; } a) it will write the string "Linux" in the beginning of source file "san.c" b) it will write the string "Linux" in the end of the source file "san.c" c) segmentation fault d) none of the mentioned

d) none of the mentioned

Explanation:

This program will write nothing in the source file "san.c" because we are opening the file in read only mode.

Output:

[root@localhost google]# gcc -o san san.c

[root@localhost google]# ./san

write: Bad file descriptor

[root@localhost google]#

 139 views

19⟩ Do you know what is the output of this program? #include<stdio.h> #include<fcntl.h> int main() { int fd, count; fd = open("google.txt",O_WRONLY|O_CREAT); count = write(fd,"Linux System Programming",5); if(count != 5) perror("write"); return 0; } a) it will create a file "google.txt" in the present working directory b) it will write the string "Linux System Programming" in the file "google.txt" c) both (a) and (b) d) none of the mentioned

a) it will create a file "google.txt" in the present working directory

Explanation:

This program will write only "Linux" in the file "google.txt" because we are writing only 5 bytes with "write" system call.

Output:

[root@localhost google]# gcc -o san san.c

[root@localhost google]# ls

san san.c

[root@localhost google]# ./san

[root@localhost google]# ls

san san.c google.txt

[root@localhost google]# vim google.txt

[root@localhost google]#

 140 views

20⟩ Output of this program? #include<stdio.h> #include<fcntl.h> int main() { pid_t fd; char ch; int count; fd = open("san.c",O_RDONLY); do{ count = read(fd,&ch,1); printf("%c",ch); }while(count); return 0; } a) it will print nothing b) it will print the source code of the source file "san.c" c) segmentation fault d) none of the mentioned

a) it will print nothing

Explanation:

none.

Output:

[root@localhost google]# gcc -o san san.c

[root@localhost google]# ./san

#include

#include

int main()

{

int fd, count;

char ch;

fd = open("san.c",O_RDONLY);

do{

count = read(fd,&ch,1);

printf("%c",ch);

}while(count);

}

[root@localhost google]#

 157 views