From: Darren K. <Dar...@cs...> - 2008-11-21 22:00:02
|
Hi Matt, Regarding distinguishing between RAW and RST files, if 'buffer' is the head of the file, buffer[0x22] == 0x08 for the RAW files I checked buffer[0x22] == 0x20 for all the RST files in the example directory. You may want to do some checking on your own RAW files, but I think this will work. Darren #include <iostream> #include <fstream> #include <string> #include <stdexcept> using namespace std; int main(int argc, char* argv[]) { try { if (argc != 2) throw runtime_error("Usage: byte22 filename\n"); string filename = argv[1]; ifstream is(filename.c_str()); if (!is) throw runtime_error(("Unable to open file " + filename).c_str()); const size_t bufferSize = 0x100; string buffer('0', bufferSize); is.read(&buffer[0], bufferSize); printf("%02x\n", buffer[0x22]); return 0; } catch (exception& e) { cerr << e.what() << endl; } return 1; } IMPORTANT WARNING: This message is intended for the use of the person or entity to which it is addressed and may contain information that is privileged and confidential, the disclosure of which is governed by applicable law. If the reader of this message is not the intended recipient, or the employee or agent responsible for delivering it to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this information is STRICTLY PROHIBITED. If you have received this message in error, please notify us immediately by calling (310) 423-6428 and destroy the related message. Thank You for your cooperation. IMPORTANT WARNING: This message is intended for the use of the person or entity to which it is addressed and may contain information that is privileged and confidential, the disclosure of which is governed by applicable law. If the reader of this message is not the intended recipient, or the employee or agent responsible for delivering it to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this information is STRICTLY PROHIBITED. If you have received this message in error, please notify us immediately by calling (310) 423-6428 and destroy the related message. Thank You for your cooperation. |