Share via


Constructing Input Stream Objects

If you use only the cin object, you do not need to construct an input stream. You must construct an input stream if you use:

  • Input File Stream Constructors

  • Input String Stream Constructors

Input File Stream Constructors

There are two ways to create an input file stream:

  • Use the void argument constructor, then call the open member function:

    ifstream myFile; // On the stack
    myFile.open( "filename" );
    
    ifstream* pmyFile = new ifstream; // On the heap
    pmyFile->open( "filename" );
    
  • Specify a filename and mode flags in the constructor invocation, thereby opening the file during the construction process:

    ifstream myFile( "filename" );
    

Input String Stream Constructors

Input string stream constructors require the address of preallocated, preinitialized storage:

string s("123.45");
double amt;
istringstream myString( s ); 
//istringstream myString( "123.45" ) also works
myString >> amt; // amt contains 123.45

See Also

Reference

Input Streams