xvi
■CONTENTS
Writing to a Text File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Reading from a Text File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Writing Strings to a Text File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
Reading Strings from a Text File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
Formatted File Input and Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Formatted Output to a File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
Formatted Input from a File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
Dealing with Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
Further Text File Operation Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
Binary File Input and Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Specifying Binary Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Writing a Binary File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Reading a Binary File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
Moving Around in a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
File Positioning Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
Finding Out Where You Are . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
Setting a Position in a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
Using Temporary Work Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Creating a Temporary Work File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Creating a Unique File Name. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Updating Binary Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Changing the File Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
Reading a Record from the Keyboard. . . . . . . . . . . . . . . . . . . . . . . . 509
Writing a Record to a File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
Reading a Record from a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
Writing a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Listing the File Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
Updating the Existing File Contents . . . . . . . . . . . . . . . . . . . . . . . . . 514
File Open Modes Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
Designing a Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
The Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
The Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
The Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Horton_735-4FRONT.fm Page xvi Saturday, September 23, 2006 5:08 AM