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 />

El programa primero imprime el valor de cin.eof(), es decir, false (0 en la salida) para<br />

mostrar que no ha sucedido el fin de archivo en cin. Después el usuario introduce una línea de<br />

texto y oprime Enter (¿) seguido por un fin de archivo (-z en sistemas compatibles con<br />

IBM PC, -d en sistemas UNIX o Macintosh) El programa lee cada carácter y lo manda a<br />

cout utilizando la función miembro put. Cuando se encuentra el fin de archivo, termina el while y<br />

cin.eof(), que ahora es true, se vuelve a imprimir (1 en la salida) para mostrar que el fin de<br />

archivo se estableció en cin. Observe que este programa utiliza la versión de la función miembro<br />

get de istream que no toma argumentos y devuelve el carácter que se introduce.<br />

Una tercera versión de la función miembro get() toma tres argumentos: un arreglo de<br />

caracteres, un límite de tamaño y un delimitador (con un valor predeterminado de ‘\n’) Esta<br />

versión lee caracteres desde el flujo de entrada. Lee hasta 1 menos que el número máximo<br />

especificado de caracteres y termina, o termina tan pronto como se lee el delimitador. Se inserta<br />

un carácter nulo para terminar la cadena de entrada en el arreglo de caracteres que el programa<br />

utiliza como búfer. El delimitador no se coloca en el arreglo de caracteres, pero permanece en el<br />

flujo de entrada ya que será el siguiente carácter que se lea. Por lo tanto, el resultado de un<br />

segundo get() consecutivo es una línea vacía, a menos que el carácter delimitador se vacíe del<br />

flujo de entrada.<br />

Ejemplo 7.10<br />

El siguiente programa: COMCINGET.CPP, compara la entrada utilizando cin con la extracción<br />

de flujo (la cual lee caracteres hasta que se encuentra un carácter de espacio en blanco) contra la<br />

entrada cin.get() Observe que la llamada a cin.get() no especifica un carácter delimitador y, por lo<br />

tanto, se utiliza el predeterminado ‘\n’.<br />

/* El siguiente programa: COMCINGET.CPP, compara la entrada de una cadena mediante cin y<br />

cin.get().<br />

*/<br />

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

void main(void)<br />

{<br />

Resumiendo:<br />

const int TAMANO = 80;<br />

char bufer1[TAMANO], bufer2[TAMANO];<br />

cout > bufer1;<br />

cout

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

Saved successfully!

Ooh no, something went wrong!