int main() { int i, fss; char ch, source["> int main() { int i, fss; char ch, source[">
logo

CuriousTab

CuriousTab

Discussion


Home C Programming Input / Output Comments

  • Question
  • On executing the below program what will be the contents of 'target.txt' file if the source file contains a line "To err is human"?
    #include<stdio.h>
    
    int main()
    {
        int i, fss;
        char ch, source[20] = "source.txt", target[20]="target.txt", t;
        FILE *fs, *ft;
        fs = fopen(source, "r");
        ft = fopen(target, "w");
        while(1)
        {
            ch=getc(fs);
            if(ch==EOF)
                break;
            else
            {
                fseek(fs, 4L, SEEK_CUR);
                fputc(ch, ft);
            }
        }
        return 0;
    }
    


  • Options
  • A. r n
  • B. Trh
  • C. err
  • D. None of above

  • Correct Answer
  • Trh 

    Explanation
    The file source.txt is opened in read mode and target.txt is opened in write mode. The file source.txt contains "To err is human".

    Inside the while loop,

    ch=getc(fs); The first character('T') of the source.txt is stored in variable ch and it's checked for EOF.

    if(ch==EOF) If EOF(End of file) is true, the loop breaks and program execution stops.

    If not EOF encountered, fseek(fs, 4L, SEEK_CUR); the file pointer advances 4 character from the current position. Hence the file pointer is in 5th character of file source.txt.

    fputc(ch, ft); It writes the character 'T' stored in variable ch to target.txt.

    The while loop runs three times and it write the character 1st and 5th and 11th characters ("Trh") in the target.txt file.


    Input / Output problems


    Search Results


    • 1. What does fp point to in the program?
      #include<stdio.h>
      
      int main()
      {
          FILE *fp;
          fp=fopen("trial", "r");
          return 0;
      }
      

    • Options
    • A. The first character in the file
    • B. A structure which contains a char pointer which points to the first character of a file.
    • C. The name of the file.
    • D. The last character in the file.
    • Discuss
    • 2. Consider the following program and what will be content of t?
      #include<stdio.h>
      
      int main()
      {
          FILE *fp;
          int t;
          fp = fopen("DUMMY.C", "w");
          t = fileno(fp);
          printf("%d\n", t);
          return 0;
      }
      

    • Options
    • A. size of "DUMMY.C" file
    • B. The handle associated with "DUMMY.C" file
    • C. Garbage value
    • D. Error in fileno()
    • Discuss
    • 3. What is the purpose of "rb" in fopen() function used below in the code?
      FILE *fp;
      fp = fopen("source.txt", "rb");
      

    • Options
    • A. open "source.txt" in binary mode for reading
    • B. open "source.txt" in binary mode for reading and writing
    • C. Create a new file "source.txt" for reading and writing
    • D. None of above
    • Discuss
    • 4. Which files will get closed through the fclose() in the following program?
      #include<stdio.h>
      
      int main()
      {
          FILE *fs, *ft, *fp;
          fp = fopen("A.C", "r");
          fs = fopen("B.C", "r");
          ft = fopen("C.C", "r");
          fclose(fp, fs, ft);
          return 0;
      }
      

    • Options
    • A. "A.C" "B.C" "C.C"
    • B. "B.C" "C.C"
    • C. "A.C"
    • D. Error in fclose()
    • Discuss
    • 5. In a file contains the line "I am a boy\r\n" then on reading this line into the array str using fgets(). What will str contain?

    • Options
    • A. "I am a boy\r\n\0"
    • B. "I am a boy\r\0"
    • C. "I am a boy\n\0"
    • D. "I am a boy"
    • Discuss
    • 6. Which of the following operations can be performed on the file "NOTES.TXT" using the below code?
      FILE *fp;
      fp = fopen("NOTES.TXT", "r+");
      

    • Options
    • A. Reading
    • B. Writing
    • C. Appending
    • D. Read and Write
    • Discuss
    • 7. What will be the output of the program?
      #include<stdio.h>
      int fun(int **ptr);
      
      int main()
      {
          int i=10;
          const int *ptr = &i;
          fun(&ptr);
          return 0;
      }
      int fun(int **ptr)
      {
          int j = 223;
          int *temp = &j;
          printf("Before changing ptr = %5x\n", *ptr);
          const *ptr = temp;
          printf("After changing ptr = %5x\n", *ptr);
          return 0;
      }
      

    • Options
    • A. Address of i
      Address of j
    • B. 10
      223
    • C. Error: cannot convert parameter 1 from 'const int **' to 'int **'
    • D. Garbage value
    • Discuss
    • 8. What will be the output of the program (in Turbo C)?
      #include<stdio.h>
      
      int fun(int *f)
      {
          *f = 10;
          return 0;
      }
      int main()
      {
          const int arr[5] = {1, 2, 3, 4, 5};
          printf("Before modification arr[3] = %d", arr[3]);
          fun(&arr[3]);
          printf("\nAfter modification arr[3] = %d", arr[3]);
          return 0;
      }
      

    • Options
    • A. Before modification arr[3] = 4
      After modification arr[3] = 10
    • B. Error: cannot convert parameter 1 from const int * to int *
    • C. Error: Invalid parameter
    • D. Before modification arr[3] = 4
      After modification arr[3] = 4
    • Discuss
    • 9. What will be the output of the program?
      #include<stdio.h>
      int get();
      
      int main()
      {
          const int x = get();
          printf("%d", x);
          return 0;
      }
      int get()
      {
          return 20;
      }
      

    • Options
    • A. Garbage value
    • B. Error
    • C. 20
    • D. 0
    • Discuss
    • 10. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          int y=128;
          const int x=y;
          printf("%d\n", x);
          return 0;
      }
      

    • Options
    • A. 128
    • B. Garbage value
    • C. Error
    • D. 0
    • Discuss


    Comments

    There are no comments.

Enter a new Comment