Home / C Programming / Input / Output :: Discussion

Discussion :: Input / Output

  1. If the file 'source.txt' contains a line "Be my friend" which of the following will be the output of below program?

    #include
      int main() 
      {   
          FILE *fs, *ft; 
          char c[10];   
          fs = fopen("source.txt", "r");     
          c[0] = getc(fs); 
          fseek(fs, 0, SEEK_END);     
          fseek(fs, -3L, SEEK_CUR);     
          fgets(c, 5, fs); 
          puts(c);   
          return 0; 
     } 
    

  2. A.

    friend

    B.

    frien

    C.

    end

    D.

    Error in fseek();

    View Answer

    Workspace

    Answer : Option C

    Explanation :

    The file source.txt contains "Be my friend".

    fseek(fs, 0, SEEK_END); moves the file pointer to the end of the file.

    fseek(fs, -3L, SEEK_CUR); moves the file pointer backward by 3 characters.

    fgets(c, 5, fs); read the file from the current position of the file pointer.

    Hence, it contains the last 3 characters of "Be my friend".

    Therefore, it prints "end".


Be The First To Comment