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

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!