_ungetch, _ungetwch, _ungetch_nolock, _ungetwch_nolock

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Exécute un push dans le dernier caractère lu à partir de la console.

System_CAPS_ICON_important.jpg Important

Cette API ne peut pas être utilisée dans les applications qui s'exécutent dans le Windows Runtime. Pour plus d’informations, consultez Fonctions CRT non prises en charge avec /ZW.

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

Paramètres

c
Caractère à être envoyées.

Ces deux fonctions renvoient le caractère c en cas de réussite. S’il existe une erreur, _ungetch renvoie la valeur EOF et _ungetwchrenvoieWEOF.

Ces fonctions pousser le caractère c à la console, à l’origine c le caractère suivant lu par _getch ou _getche (ou_getwch ou_getwche). _ungetchet _ungetwch échouent si elles sont appelées plusieurs fois avant la prochaine opération de lecture. Le c argument ne peut pas être EOF (ou WEOF).

Les versions avec le _nolock suffixe sont identiques, sauf qu’ils ne sont pas protégés contre toute interférence par d’autres threads. Ils peuvent être plus rapides, car elles n’entraînent pas la surcharge de verrouillage des autres threads. Utilisez ces fonctions uniquement dans les contextes thread-safe, tels que les applications à un seul thread ou lorsque la portée appelante gère déjà l'isolation des threads.

Mappages de routines de texte générique

Routine TCHAR.H_UNICODE et _MBCS non définis_MBCS défini_UNICODE défini
_ungettch_ungetch_ungetch_ungetwch
_ungettch_nolock_ungetch_nolock_ungetch_nolock_ungetwch_nolock
RoutineEn-tête requis
_ungetch, _ungetch_nolock<conio.h>
_ungetwch, _ungetwch_nolock<conio.h> ou <wchar.h>

Pour plus d'informations sur la compatibilité, voir Compatibilité.

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

Console et Port e/s
_cscanf, _cscanf_l, _cwscanf, _cwscanf_l
_getch, _getwch

Afficher: