GOTCHA'S - LITTLE THINGS YOU MAY NEED TO KNOW TO KEEP YOU FROM SPINNING YOUR WHEELS


==================== 

/* THE KINDS OF 'includes' AND 'using' STATEMENTS YOU MAY NEED FOR YOUR
   PROGRAM. */

#include <fstream>
#include <iostream>
#include <string>
#include <assert.h>

using namespace std;

==================== 

/* THE NEXT FEW ITEMS CONCERN THE USE OF ARRAYS.  READ PAGES A26-A32 OF THE
   CARRANO TEXT FOR MOST DETAILS.  */

==================== 

/* A FUNCTION HEADER THAT DECLARES A PARAMETER 'buffer' THAT IS A 2-D ARRAY OF
   CHARACTERS */

void getImage(char buffer[MAXSIDE][MAXSIDE], 
                  string filename, int& height, int& width) ;

====================

/* DECLARING A VARIABLE THAT IS A 2-D ARRAY OF CHARACTERS. */
const int MAXSIDE = 100 ;
char buffer [MAXSIDE][MAXSIDE] ;

====================

/* THE NEXT FEW ITEMS CONCERN THE USE OF TEXT FILES.  READ PAGES A48-A60 OF
   THE CARRANO TEXT FOR MOST DETAILS.  */

====================

/* DECLARING AN INPUT FILE AND OPENING IT -- THE NAME OF THE FILE IS STORED IN
   THE STRING VARIABLE CALLED filename AND THE c_str() METHOD IS USED TO DO
   THE TYPE CONVERSION NEEDED.  */

ifstream inFile (filename.c_str()) ;

====================

/* READING TWO INTEGERS FROM A FILE OPENED BY THE COMMAND ABOVE. */  

inFile >> imgHeight >> imgWidth ;

====================

/* THE COMMAND BELOW IS USED TO SKIP TO THE BEGINNING OF THE NEXT LINE IN THE
   INPUT FILE - ACTUALLY IT READS UP TO AND INCLUDING THE NEXT NEWLINE
   CHARACTER, OR 'GIVES UP' AFTER READING 256 CHARACTERS IF NO NEWLINE IS
   ENCOUNTERED. */

inFile.ignore(256,'\n') ;

====================

/* THIS STATEMENT READS THE NEXT CHARACTER FROM THE FILE CALLED inFile AND
   PUTS IT INTO A SPECIFIC POSITION OF THE ARRAY CALLED buffer. rowNumber and
   colNumber are int variables. */

   inFile.get(buffer[rowNumber][colNumber]) ;

====================

/* CLOSING AN INPUT FILE */

inFile.close() ;

====================