Header files iostream and fstream declare the
istream, ostream, ifstream, and ofstream I/O classes.
|
Standard Input
- cin is object representing standard input
- cin.get (someChar) ; cin.ignore (100, ‘\n’)
- also use operators cin <<
- can all use read() function from C
|
Standard Output
- cout is object representing standard output
- cout.write()
- also use operator cout >>
|
Example Program using iostream
#include <iostream>
using namespace std;
int main( )
{ //
USES KEYBOARD AND SCREEN I/O
using namespace std;
int partNumber;
float unitPrice;
cout << “Enter
part number followed by return : “
<< endl ; // prompt
cin >> partNumber
;
cout << “Enter
unit price followed by return : “
<< endl ;
cin >> unitPrice
;
cout << “Part #
“ << partNumber //
echo
<< “at Unit Cost: $ “ << unitPrice << endl ;
return 0;
}
|
|
File I/O
- #include <fstream>
- choose valid variable identifiers for your files and declare
them
- open the files and associate them with disk names
- use your variable identifiers with >> and <<
- close the files
code snipet: opening/clsosing File I/O streams
#include <fstream>
using namespace std;
ifstream myInfile; // declarations
ofstream myOutfile;
myInfile.open(“A:\\myIn.dat”); // open files
myOutfile.open(“A:\\myOut.dat”);
myInfile.close( ); // close files
myOutfile.close( );
|
Sample code
#include <fstream>
int main( )
{ // USES FILE I/O
using namespace std;
int partNumber;
float unitPrice;
ifstream inFile; // declare file variables
ofstream outFile;
inFile.open(“input.dat”);
//open files
outFile.open(“output.dat”);
inFile >> partNumber ;
inFile >> unitPrice ;
outFile << “Part # “ << partNumber //
echo
<< “at Unit Cost: $ “ << unitPrice << endl ;
return 0;
}
|
|
Stream Failure
- When a stream enters the fail state, further I/O operations
using that stream are ignored. But the computer does not automatically
halt the program or give any error message.
- Possible reasons for entering fail state include:
- invalid input data (often the wrong type),
- opening an input file that doesn’t exist,
- opening an output file on a diskette that is already full
or is write-protected.
Program to check for Stream Errors
#include <fstream>
#include <iostream>
using namespace std;
int main( )
{ // CHECKS FOR STREAM FAIL
STATE
ifstream inFile;
inFile.open(“input.dat”);
// try to open file
if ( !inFile )
{
cout << “File input.dat could not be opened.”;
return 1; }
. . . return 0;
}
|
|