7 min de lectura

Métodos de cin en C++

La clase cin en C++ permite guardar en una variable lo que el usuario ingrese desde el input estándar y tiene varios métodos para lograr la lectura y guardado.

El dato puede ser procesado para ser almacenado en los diferentes tipos que manejamos comúnmente, así como; int, float, char, string o bool.

Métodos mas utilizados de cin en C++

  • cin.get()
  • cin. Ignore()
  • cin. getline()

cin.get()

Este método permite leer solo el primer caracter que ingresa el usuario cuando se le pide ingresar una palabra y después mostrarlo en pantalla.

en este método solo es necesario declarar una variable tipo char.

cin.ignore()

cin.ignore() se puede utilizar con 2 parametros o sin parámetros, uno lo utilizamos para la cantidad de caracteres que vamos a ignorar y el otro para decir hasta que carácter va a ignorar.

cin.ignore() se utiliza para ignorar lo que hay en el buffer y no salte la lectura de datos cuando cambia de string a int.

cin.ignore(100,’n’) cuando se declara de esta forma va a ignorar hasta 100 caracteres o hasta llegar a la letra ‘n’.

 

cin.getline()

Este método nos deja leer strings en c++, y para poder hacer función de esto, se necesita declarar una variable tipo “string”, y hay dos formas de poder leer los datos que el usuario ingrese como las siguientes:

esta forma permite solo leer la cadena hasta el carácter que lo limita.


  1.  

Se puede usar también sin un carácter que delimite la cadena, y su acción será un salto de línea por defecto.

Inténtelo en su compilador para ver resultados.

Leer con cin en c++ sin los espacios

En C++ es posible leer datos separados por espacios en blanco o enter, por medio del operador de extracción  cin (>>).

Y si se quieren leer caracteres incluyendo los espacios en blanco o enter, se utiliza el método de get.

Get extrae un carácter de cin y lo guarda como una variable. Si se extrae y es el fin del fichero, se activa el indicador de fin de fichero. Si el buffer de entrada se encuentra vacío, cuando el programa llega a la instrucción, se detiene en espera de teclear un caracter y pulsar enter.

cin.get (carácter)

 

El enter también se toma como un carácter ya que se lee como un flujo de entrada después de introducir el entero, y para poder evitar que pase este problema se debe limpiar el buffer con el método de ignore.

 

Limpiar el buffer con cin en C++ usando el método ignore

 

Leer con cin en c++ con los espacios

El operador de extracción sobre cin no sirve para leer cadenas de caracteres con espacios en blanco.  Para esto se utiliza el método getline.

cin.getline(cadena, número, carácter final)

Getline lee la serie de caracteres desde el flujo de entrada y los  guarda en la variable cadena. Se leen hasta el final del flujo, hasta el primer carácter que coincide con el carácter final que se haya especificado.  Getline añade el carácter nulo al final de la cadena de manera automática.

El siguiente programa muestra la diferencia al leer cadenas de caracteres con y sin el método de getline:

 

1 COMENTARIO

Deja tus comentarios

This site uses Akismet to reduce spam. Learn how your comment data is processed.