La velocidad del ordenador siempre va a hacer que se imprima "de golpe" a nuestros ojos. La forma de hacer lo que planteas es marcarle las pautas explícitamente, es decir, imprimir un caracter y decírle que espere x segundos. Aqui un ejemplo con la función "Sleep ()" de la librería "windows.h":
#include <iostream>
#include <windows.h>
using namespace std;
int main ()
{
char cadena [17] = "Esto es un texto";
for (int i = 0; i < 16; i++)
{
cout << cadena [i];
Sleep(200);
}
cin;
return 0;
}
Nota 1: La inicial de "Sleep" se escribe con mayúscula.
Nota 2: Dentro se ponen los milisegundos que quieres que se pause el programa (1000 ms = 1 s).
Ami particularmente no me gusta esta función porque como se puede observar haces que el programa sea dependiente de windows (por la librería). Si quieres mantener el programa de forma multiplataforma busca acerca de la librería "time" que creo que también viene con una función similar.
Saludos.
Ya he estado investigando la libreria time.h y no he encontrado ninguna. Puede ser porque la web este incompleta o porque no pertenezca a ella. Buscare en otras web para asegurarme igualmente.
Gracias