I suggest using vector or, if in MFC, CArray. Both use the heap, instead of stack, and maintain the count. Option 2 is to simply use: char* pStr = new char[255]; But make sure you delete it when you got out of scope (or use a smart pointer class.) Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke