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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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!