06.05.2013 Views

CONTENIDO DE LA LECCIÓN 8

CONTENIDO DE LA LECCIÓN 8

CONTENIDO DE LA LECCIÓN 8

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

MIGUEL Á. TOLEDO MARTÍNEZ<br />

.<br />

[30]<br />

Como puede ver, las posiciones del arreglo [0] a [5] contienen la cadena Miguel formada por los<br />

caracteres individuales M, i, g, u, e, l. La posición del arreglo [6] contiene el carácter terminador<br />

nulo ‘\0’. El operador >> inserta el terminador nulo en el arreglo y termina la operación de lectura<br />

cuando encuentra el carácter blanco (espacio en blanco) De esta manera, los demás caracteres que<br />

se ingresaron no son extraídos del flujo, como se muestra por las posiciones restantes del arreglo<br />

que contienen los terminadores nulos de la inicialización. De hecho, si a ésta siguiera otro<br />

enunciado cin, deberá leer el segundo nombre de Miguel (Ángel), dado que el usuario escribió el<br />

nombre completo, coloca Ángel en la memoria temporal de flujo.<br />

Hay algunas formas para resolver el problema anterior. Una de ellas es definir por separado<br />

arreglos de caracteres para cada una de las palabras que serán leídas. En este caso, podrá crear los<br />

siguientes arreglos: primerNombre, segudoNombre, apellidoPaterno y apellidoMaterno, y usar<br />

cuatro enunciados cin >> para leer el primero y el segundo nombre, los apellidos paterno y<br />

materno respectivamente.<br />

USO <strong>DE</strong> getline() PARA LEER CA<strong>DE</strong>NAS <strong>DE</strong> CARACTERES<br />

La función miembro getline() opera en forma similar a la tercera versión de la función<br />

miembro get() e inserta un carácter nulo después de la línea en el arreglo de caracteres. La<br />

función getline() elimina del flujo al delimitador (es decir, lee el carácter y lo descarta), pero no<br />

lo almacena en el arreglo de caracteres.<br />

Ejemplo 7.12<br />

El siguiente programa GETLINE.CPP, ilustra el uso de entrada mediante la función miembro<br />

getline()<br />

/* El siguiente programa: GETLINE.CPP, da entrada a caracteres mediante la función miembro<br />

getline()<br />

*/<br />

#include //Para cout y cin<br />

void main(void)<br />

{<br />

const TAMANO = 80;<br />

char bufer[TAMANO];<br />

cout

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!