#include <iostream>
using std::cout;
using std::cin;
using std::endl;
#include <fstream>
using std::ifstream;
using std::ofstream;
using std::ios;
#include <string>
using std::string;
#include <istream>
using std::istream;
#include <sys/stat.h>
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;
}