#include using std::cout; using std::cin; using std::endl; #include using std::ifstream; using std::ofstream; using std::ios; #include using std::string; #include using std::istream; #include const unsigned int checkFileSize(const char * &); const unsigned int readFile(istream &, const int); int main(int argc, const char * argv[]) { if(argc > 1) { cout << "Filename: " << argv[1] << endl; cout << "File size: " << checkFileSize(argv[1]) << endl; ifstream in; in.open(argv[1], ios::in|ios::binary); if(in) { cout << "PID: " << readFile(in,3) << endl; in.close(); } else cout << "Couldn't open file!" << endl; } else cout << "No file given!" << endl; return 0; } const unsigned int checkFileSize(const char * & filename) { struct stat filestatus; stat( filename, &filestatus ); return filestatus.st_size; } const unsigned int readFile(istream & in, const int numBytes) { char foo[numBytes]; unsigned int bar = 0; in.read(foo,sizeof(foo)); for(int i = 0; i < numBytes; i++) { bar += (int)foo[i]; if(i != (numBytes-1)) bar << 8; } return bar; }