   Pointers question
  Lately I''ve been working a little bit with binary files and I noticed that if you save a pointer to a file and load it back in then the program crashes...Now I assume this is because what you are writting to the file is not really the data contained in the pointer but the address of the pointer right? So if that''s the case what should I do to get around this problem? Is it possible to write it as binary data? 
  You''re right as to why it doesn''t work.The solution depends on what the data is. If this was c and you were saving a string for example:To save it:int length = strlen(mystring);fwrite(&length, sizeof(int), 1, file);fwrite(mystring, 1, length, file);To load it:int length;fread(&length, sizeof(int), 1, file);mystring = malloc(length+1);fread(mystring, 1, length, file);mystring[length] = 0; // terminate the string.;  Oh Ok, so if I was say saving something like a class with different pointers in it etc...Then what would be the best solution? IMO it would be copying the variables to a structure or something like that and then saving it or is there a better way?   [edited by - JohnyB on August 8, 2003 2:54:51 AM];  For a class that contains pointers, or contains a class that contains pointers, it''s best to save each member individually.For the pointers, if you are using the pointer as an array, you can save the number of objects, and then each object.If you are using it as a normal pointer, you can save that object normally.If it is pointing to a polymorphic object (one that has virtual functions) you would want to get it''s type id and save that, then give it its own save function to save its self. Later when loading, you''d load the id to figure out what type of object it was, create an object of that type, and tell it to load its self. 