Chapter 4 Basic Input and Output - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Chapter 4 Basic Input and Output

Description:

To avoid entering large quantities of data from the keyboard ... cin x; // insert data into x from cin (identifier for the keyboard) ... – PowerPoint PPT presentation

Number of Views:146
Avg rating:3.0/5.0
Slides: 21
Provided by: ralphfto
Category:

less

Transcript and Presenter's Notes

Title: Chapter 4 Basic Input and Output


1
Chapter 4 Basic Input and Output
  • We have already seen how to read inputs from the
    keyboard and to output values to the computer
    screen.
  • Now we will see how to read from and write to
    files (also called input files, output files, or
    data files)

2
File (data file, output file, input file) a
computer file used for input to or output from a
program.
  • Why use a file?
  • There are many uses for files, including
  • To provide permanent storage of data, such as
  • Inventories
  • Bank accounts
  • Log sheets
  • Lab data
  • Etc
  • To avoid entering large quantities of data from
    the keyboard
  • To provide a copy or record of the output
  • To store data where it can then be accessed by
    other programs, such as MatLab or Excel

3
  • Interactive programs
  • Our C programs so far have been interactive as
    they
  • Prompt the user on the screen to enter inputs
  • Read inputs from the keyboard
  • Display outputs on the screen
  • Non-interactive programs might read inputs from a
    data file, process the data, and write the
    results to another data file.

4
Input and Output Streams
  • Streams are series of bytes in a sequence
  • Streams flow from device to device
  • Objects are regions of storage in memory
  • The object used determines the device stream that
    the data comes from or goes to
  • cin and cout are identifiers for objects defined
    by iostream (screen and keyboard)
  • fstream is a class that allows us to define other
    objects (example identifiers outfile and infile)
    establishing connections between our C program
    and files.
  • is called the extraction operator
  • Examples of input and output streams
  • cin x // insert data into x from cin
    (identifier for the keyboard)
  • cout (identifier for the screen)
  • infile x // insert data into x from infile
    (ex identifier for a data file)
  • outfile (ex identifier for a data file)

5
fstream
fstream is a class that allows us to define
objects establishing connections between a C
program and files. Several useful operators and
functions are part of the class. Header be
sure to include the following header include
// header for working with
files Opening output files Form ofstream
fileidentifier(filename) Example
ofstream outfile(ALab1output.dat) Example
ofstream output(C\\DevC\\EGR125.out) (Note
that \\ is necessary for a single slash in a
character string.) Opening input files Form
ifstream fileidentifier(filename) Example
ifstream infile(ALab1input.dat) Example
ifstream input(C\\DevC\\EGR125.in)
6
fstream (continued)
Insertion operator () Example ifstream
infile(ALab1input.dat) cin x // read
x from keyboard infile y // read y from the
input file Extraction operator
() cout screen outfile file Closing files Closing files is generally
not necessary unless you want to open another
file using the same identifier, but it might be
good practice. Form fileidentifier.close()
Example ofstream outdata(E\\EGR125\\mystuff.ou
t) outdata file outdata.close( ) // close the file
7
Writing to an output file basic steps
  • Open the file (select an identifier and file
    name)
  • Example ofstream outfile(ALab1output.dat)
  • Send outputs to the file using the ofstream
    object like you would use cout
  • Example outfile
  • (similar to cout
  • Close the file
  • Example outfile.close( )
  • To view the results, open the newly formed output
    file with Notepad, Word, DevC, etc.
  • See sample program on the next page

8
(No Transcript)
9
Creating an input file
  • In order to use a C program to read an input
    data file, we must first create the data file.
  • Create the input file using Notepad, Word (save
    in text or rtf format, not as a Word document),
    DevC, etc. Use a meaningful file name. The
    extension isnt important, but an extension like
    .dat or .in is recommended.
  • Numeric values are typically separated by white
    spaces (space, tab, or newline (\n) )
  • There is an invisible end-of-file marker ? at the
    end of each file so the program knows when the
    end has been reached.
  • C would read the following numeric values from
    the following data files in the same way

White space space, tab (\t), or newline (\n)
10
Reading input files
  • C would read the following numeric values from
    the following data files in the same way since it
    makes no distinction between white spaces. The
    sequence of characters seen in each case is shown.

ifstream infile(Adat1.in) infile x y
z
ifstream infile(Adat2.in) infile x y
z
11
Reading from an input file basic steps
  • Create the input file using Notepad, Word (save
    in text or rtf format, not as a Word document),
    DevC, etc.
  • Open the file (select an identifier and file
    name)
  • Example ifstream infile(ALab1input.dat)
  • Read inputs from the file using the ifstream
    object like you would use cin
  • Example infile x
  • (similar to cin x)
  • Beware of how C handles white spaces and how
    real numbers and integers are read from files.
  • Close the file
  • Example infile.close( )
  • The output of the program could be sent to the
    screen or to an output data file.
  • See sample program on the next page

12
(No Transcript)
13
Reading different data types from files
When reading numeric data from a file, care must
be taken when working with integers and real
numbers.
  • Reading an integer, such as 2, as a real causes
    no problem. The integer value is promoted to a
    real value (2.0).
  • Reading a fixed point number, such as 2.5, as an
    integer will result in reading just the digits up
    to the decimal point (2).
  • Reading a fixed point number that begins with a
    decimal point, such as .500, as an integer will
    result in a file read error or unpredictable
    results.
  • See the following three examples

14
Sample 1 Reading double, double, double from
Dat3.in
14
15
Sample 2 Reading int, double, double from
Dat3.in
15
16
Sample 3 Reading double, int, int from Dat3.in
16
17
Reading Character Data
  • To read the next three characters typed at the
    keyboard
  • cin c1 c2 c3
  • To read the next three characters in the data
    file defined below
  • ifstream infile(AMydata.in)
  • infile c1 c2 c3
  • Whitespaces are NOT needed for separating
    character data
  • if used, whitespaces are ignored

18
(No Transcript)
19
Input Buffer
  • Perhaps you have used some program on your
    computer where you held down a key and, even
    after you released the key, the program still
    responded to the input. The keystrokes were
    stored in a buffer in your computer.
    Additionally, you may have held down a key until
    the keyboard began beeping, indicating that the
    buffer was full.
  • A buffer is a region of memory used for temporary
    storage of information being transferred between
    devices
  • Keystrokes stored in the buffer are accessed
    sequentially (i.e., in the same order that they
    were entered.)
  • The computer has a position indicator to keep
    track of which information has been read.
  • Why is this important in C programming?
    Suppose you request a single character input (Y
    or N, for example), but the user accidentally
    hits the key twice. The second character is
    still in the buffer and will be read at the next
    input!

20
Input Buffer - Example
20
Write a Comment
User Comments (0)
About PowerShow.com