Please help me with this question. What would be the output? Thanks in advance. | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
0

Please help me with this question. What would be the output? Thanks in advance.

Assuming that the content of the file ā€œtest.txtā€ is The end sem starts here what is the output of this program? int main() { FILE *fp; char c[1024]; fp = fopen("test.txt", "r"); c[0] = getc(fp); fseek(fp, 0, SEEK_END); fseek(fp, -4, SEEK_CUR); c[1]=getc(fp); fseek(fp, 2, SEEK_CUR); c[2]= getc(fp); c[3]=ā€™\0ā€™; printf(ā€œ%sā€,c); return 0; } Options: A. Thr B. Te C. her D. sem

26th Jun 2020, 2:56 PM
O.Naga Lakshmi Lalasa
O.Naga Lakshmi Lalasa - avatar
3 Answers
0
(A) Thr 1. c[0] stores 'T' ie the first character of the file 2. SEEK_END takes you to the end of file 3. The pointer moves backwards by 4 characters to 'h'. Hence, c[1] = 'h' (forth character from the end) 4. Then seek forward 2 characters to 'r' => c[2] = 'r' 5. Finally c[3] = null to mark end of string
26th Jun 2020, 3:25 PM
Infinity
Infinity - avatar
+ 1
Thank you so much Infinity and uday kiran
27th Jun 2020, 8:06 AM
O.Naga Lakshmi Lalasa
O.Naga Lakshmi Lalasa - avatar
0
1. Initially fp points to first character in the file ,so c[0] = 'T' 2. fseek function is used to move the position of the pointer . SEEK_END place the pointer beyond the last character. 3.SEEK_CUR moves the pointer by no.of bytes from it's position. c[1] = 'h' c[2] = 'r' c = "Thr"
26th Jun 2020, 3:51 PM
uday kiran
uday kiran - avatar