C ++ wcin - Biblioteca estándar de C ++

El objeto wcin en C ++ es un objeto de clase wistream. Se utiliza para aceptar la entrada del dispositivo de entrada estándar, es decir, el teclado. Está asociado con el flujo de entrada estándar C stdin.

Diferencia entre wcin y cin

cinusuarios char(carácter estrecho) como tipo de carácter. Se puede utilizar para caracteres ASCII y ANSI.

Para la internacionalización, necesitamos cadenas Unicode que no encajen char. wcinusa wchar_t(carácter ancho) y se puede usar para caracteres Unicode.

declaración de wcin

 wcin wistream externa;

Se define en el archivo de encabezado "> archivo de encabezado.

Se wcingarantiza que el objeto se inicializa durante o antes de la primera vez que ios_base::Initse construye un objeto de tipo . Una vez wcinconstruido el objeto, wcin.tie()devuelve , lo &wcoutque significa que cualquier operación de entrada formateada en wcin fuerza una llamada a wcout.flush()si hay caracteres pendientes de salida.

El "wc" en se wcinrefiere a "carácter ancho" y "en" significa "entrada", por wcinlo tanto significa "entrada de caracteres amplios". El wcinobjeto se utiliza junto con el operador de extracción (>>) para recibir un flujo de caracteres. La sintaxis general es:

 wcin >> varName;

El operador de extracción se puede utilizar más de una vez para aceptar múltiples entradas como:

 wcin >> var1 >> var2 >>… >> varN;

El wcinobjeto también se puede utilizar con otras funciones miembro, tales como getline(), read(), etc. Algunas de las funciones miembro comúnmente utilizados son:

  • wcin.get(wchar_t &ch): Lee un carácter amplio y lo almacena en el cap.
  • wcin.getline(wchar_t *buffer, int length): Lee una secuencia de caracteres anchos en el búfer de cadena, se detiene cuando
    • ha leído caracteres de longitud 1 o
    • cuando encuentra un carácter de final de línea (' n') o el final del archivo.
  • wcin.read(wchar_t *buffer, int n): Lee n bytes (o hasta el final del archivo) de la secuencia al búfer.
  • wcin.ignore(int n): Ignora los siguientes n caracteres del flujo de entrada.
  • wcin.eof(): Devuelve un valor distinto de cero si se alcanza el final del archivo (eof).

Ejemplo 1: wcin con operador de extracción:

 #include using namespace std; int main() ( wchar_t word(20); wcout <> word; wcout << word; return 0; )

Cuando ejecute el programa, una posible salida será:

 Introduzca una palabra: katmandú katmandú

Ejemplo 2: wcin con función miembro:

 #include using namespace std; int main() ( wchar_t str(50), ch; wcout << L"Enter a string: "; wcin.getline(str, 20); wcout << L"Enter a character: "; wcin.get(ch); wcout << L"String = " << str << endl; wcout << L"Character = " << ch << endl; return 0; )

Cuando ejecute el programa, una posible salida será:

 Ingrese una cadena: programa usando wcin Ingrese un carácter: h Cadena = programa usando wcin Carácter = h

Ten cuidado

char16_ty char32_t, que se introdujeron en C ++ 11, se recomienda su uso en lugar de wchar_tporque wchar_tes de 16 bits en algunos sistemas y de 32 bits en otros. Esto dificulta el puerto.

Articulos interesantes...