O no te he entendido bien, o no has entendido tu bien como funcionan los arrays en C++, pero algo falla xD
Si tu haces:
Código C++:
Ver originalconst unsigned longitud=20;
char var[longitud];
Y luego por teclado te ponen "palabra.", la funcion strlen te devolveria 8 (7 de palabra + 1 del punto). La función strlen no cuenta hasta un punto o un signo de puntuación, sino hasta el caracter "\0" y este es introducido por cin al final de la palabra de forma automática.
No se si esto resuelve la duda porque tu último post no lo he terminado de entender.