<p>Is there an ascii value I can put into a char in C++, that represents nothing?  I tried 0 but it ends up screwing up my file so I can't read it.</p>

The null character '\0' still takes up a byte.
Does your software recognize the null character as an end-of-file character?
If your software is reading in this file, you can define a place holder character (one that isn't the same as data) but you'll also need to handle that character.  As in, say '*' is your place-holder.  You will read in the character but not add it to the structure that stores your data.  It will still take up space in your file, but it won't take up space in your data structure.
Am I answering your question or missing it?