Data Files - C Interview Questions and Answers

  1. Can stdout be forced to print somewhere other than the screen?

    Although the stdout standard stream defaults to the screen, you can force it to print to another device using something called redirection. For instance, consider the following program:

    /* redir.c */
    #include <stdio.h>
    void main(void);
    void main(void)
         printf("Let's get redirected!\n");

    At the DOS prompt, instead of entering just the executable name, follow it with the redirection character >, and thus redirect what normally would appear on-screen to some other device. The following example would redirect the program's output to the prn device, usually the printer attached on LPT1:

    C:>REDIR > PRN

    Alternatively, you might want to redirect the program's output to a file, as the following example shows:


    In this example, all output that would have normally appeared on-screen will be written to the file REDIR.OUT.

  2. What is the difference between text and binary modes?

    Streams can be classified into two types: text streams and binary streams. Text streams are interpreted, with a maximum length of 255 characters. With text streams, carriage return/line feed combinations are translated to the newline \n character and vice versa. Binary streams are uninterpreted and are treated one byte at a time with no translation of characters. Typically, a text stream would be used for reading and writing standard text files, printing output to the screen or printer, or receiving input from the keyboard.

    A binary text stream would typically be used for reading and writing binary files such as graphics or word processing documents, reading mouse input, or reading and writing to the modem.