/* Función para leer una cadena desde el teclado */ void Leer_Cadena(char * s) { cin >> resetiosflags(ios::skipws); // <- Configuramos la entrada for (int i= 0; cin >> s<i>; i++) // <- Leer caracteres hasta el enter if (s<i> == '\n') break; s<i>= '\0'; // <- Agregamos el caracter de fin de cadena }
/* Función que devuelve la longitud de una cadena */ int StrLen(char * s) { char * s0= s; while (*s++); return s - s0 - 1; }
/* Programa principal */ void main() { char s[100]; // Espacio para una cadena de 99 caracteres máximo cout << endl << "PROGRAMA 1:"; cout << endl << "Leer una cadena y devolver la longitud de la misma" << endl; cout << endl << "Introduce una cadena:" << endl; Leer_Cadena(s); cout << endl << "La cadena es: " << s << endl; cout << "Y su longitud es: " << StrLen(s); }
Muy bien comentado,si acaso le faltarÃa alguna validación para que el usuario no desborde la variable donde se almacenan los caracteres.