// CountChars.cpp #include #include #include #include using namespace std; int main( int argc, char* argv[] ) { // check number of arguments if ( argc < 2 ) { cerr << "Missing argument." << endl; cerr << "usage: CountChars filename" << endl; return 1; } // open streams ifstream lReader; lReader.open( argv[1] ); if ( lReader.fail() ) { cerr << "Cannot open file \'" << argv[1] << "\'." << endl; return 1; } // setup count array int chars[26][2]; for ( int i = 0; i < 26; i ++ ) { chars[i][0] = 0; chars[i][1] = 0; } // read and count chars char lChar; while ( lReader >> lChar ) if ( isalpha( lChar ) ) chars[(int)(toupper( lChar ) - 'A')][isupper( lChar ) ? 0 : 1]++; // print counts cout << "Character counts for " << argv[1] << ": " << endl; for ( int i = 0; i < 26; i++ ) cout << (char)('A' + i) << ": " << chars[i][0] << "\t " << (char)('a' + i) << ":" << chars[i][1] << "\t= " << chars[i][0]+chars[i][1] << endl; lReader.close(); return 0; }