#include #include #include #include //#include "hiv.h" using namespace std; typedef struct ObjData { int* bufferadress; int length; int startbyte; }; void printhelp(void){ cout << "h: this help" <tellg()); } /*###################################################################*/ int main(int argc, char *argv[]) { int FileBuffer[1024]; // temporärer speicher fuer zu grosse dateien int ptr_buf, tmp, key; int ByteNr; int ptr_start, ptr_act,ptr_last; unsigned int FileSize; char StrNumber[]="0000"; int size2show; // anzahl der angezigten daten //ifstream FileObject; ObjData ObjektDaten; /* falscher aufruf von hiv, fehlermeldung*/ if (argc!=2){ cout << "hiv \n" << endl; exit(1); } ifstream *FileObject = new ifstream; if (FileObject==NULL) printf("\nFehler beim anlegen des Objektes\n"); // Datei oeffnen FileObject->open(argv[1],ios::in | ios::binary); // Datei nichtexistent if (!FileObject){ cout << "\nFile nicht ladbar\n" << endl; exit(1); } // Filegroesse ermitteln FileObject->seekg(0,istream::end); FileSize=FileObject->tellg(); // setze seekg-pointer auf start FileObject->seekg(0,istream::beg); FileSize=FileObject->tellg(); ifstream test; printf("\n%d\n",sizeof(test)); printf("\n%d\n",sizeof(*FileObject)); //test printf("%4X\n",1000); // hauptschleife while(1){ key=getc(stdin); switch( key ){ case 'h' : printhelp(); break; case 'n' : printx(FileObject ); break; case 'p' : printx(FileObject ); break; case 's' : printf("Filesize: %d\n",FileSize); break; case 'q' : goto ProgrammEnde; break; //default: printf( "\nfalsche Taste\n"); // break; } } ProgrammEnde: FileObject->close(); delete FileObject; return 0; } ///////////////////////////////////////////////////