char * msg = new char[65546];
want to initialize to 0 for all of them. what is the best way to do this in C++?
The "most C++" way to do this would be to use std::fill.
std::fill
std::fill(msg, msg + 65546, 0);