Pues verás, las cadenas de caracteres deben terminar con este carácter '\0', ya que cuando quieres hacer operaciones con ellas (con las cadenas), como por ejemplo imprimir, las funciones paran cuando encuentran ese caracter, por eso te dije que justo después del bucle tienes que poner esa instrucción, para finalizar tu cadena. Si no lo haces, la función (en este caso cout) no te funciona, aunque también podría haber imprimido "basura" que hay en tu memoria hasta encontrarse con '\0'
No sé si lo entiendes o no, me cuesta explicarme con claridad.
Digamos que sería como el punto en una frase.
Muchas gracias hombre por la explicación;). Y también muchas gracias por solucionarme la duda aunque con lo que me dijiste tube que hacer un algoritmo un poco guarro jajaja.
¿Hay alguna manera de agradecertelo como con karmas o algo así?.