_ungetch, _ungetwch, _ungetch_nolock, _ungetwch_nolock

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Devuelve el último carácter que se lee de la consola.

System_CAPS_ICON_important.jpg Importante

Esta API no se puede usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución. Para más información, vea Funciones de CRT no admitidas con /ZW.

int _ungetch(  
   int c   
);  
wint_t _ungetwch(  
   wint_t c   
);  
int _ungetch_nolock(  
   int c   
);  
wint_t _ungetwch_nolock(  
   wint_t c   
);  

Parámetros

c
Carácter que se va a devolver.

Las dos funciones devuelven el carácter c si se ejecutan correctamente. Si se produce un error, _ungetch devuelve un valor de EOF y _ungetwchdevuelveWEOF.

Estas funciones devuelven el carácter c a la consola, causando c ser el siguiente carácter leído por _getch o _getche (o_getwch o_getwche). _ungetch y _ungetwch producen un error si se llaman más de una vez antes de la siguiente lectura. El argumento de c no puede ser EOF (ni WEOF).

Las versiones con el sufijo _nolock son idénticas, salvo que no están protegidas contra interferencias de otros subprocesos. Pueden ser más rápidas, porque no incurren en la sobrecarga de bloquear otros subprocesos. Use estas funciones solo en contextos seguros para subprocesos como aplicaciones de un único subproceso o donde el ámbito de llamada ya controle el aislamiento de subprocesos.

Asignaciones de rutina de texto genérico

Rutina TCHAR.H_UNICODE y _MBCS no definidos_MBCS definido_UNICODE definido
_ungettch_ungetch_ungetch_ungetwch
_ungettch_nolock_ungetch_nolock_ungetch_nolock_ungetwch_nolock
RutinaEncabezado necesario
_ungetch, _ungetch_nolock<conio.h>
_ungetwch, _ungetwch_nolock<conio.h> o <wchar.h>

Para obtener más información sobre compatibilidad, vea Compatibilidad.

// crt_ungetch.c  
// compile with: /c  
// In this program, a white-space delimited   
// token is read from the keyboard. When the program   
// encounters a delimiter, it uses _ungetch to replace   
// the character in the keyboard buffer.  
//  
  
#include <conio.h>  
#include <ctype.h>  
#include <stdio.h>  
  
int main( void )  
{  
   char buffer[100];  
   int count = 0;  
   int ch;  
  
   ch = _getche();  
   while( isspace( ch ) )      // Skip preceding white space.  
      ch = _getche();  
   while( count < 99 )         // Gather token.  
   {  
      if( isspace( ch ) )      // End of token.  
         break;  
      buffer[count++] = (char)ch;  
      ch = _getche();  
   }  
   _ungetch( ch );            // Put back delimiter.  
   buffer[count] = '\0';      // Null terminate the token.  
   printf( "\ntoken = %s\n", buffer );  
}  

  
Whitetoken = White  

E/S de consola y puerto
_cscanf, _cscanf_l, _cwscanf, _cwscanf_l
_getch, _getwch

Mostrar: