_ungetch, _ungetwch, _ungetch_nolock, _ungetwch_nolock

Konsoldan okunan son karakteri geri iter.

Önemli notÖnemli

Bu API, Windows Çalışma Zamanı'nda yürütülen uygulamalarda kullanılamaz.Daha fazla bilgi için bkz /ZW ile desteklenmeyen CRT işlevleri.

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

Parametreler

  • c
    İtilecek karakter.

Dönüş Değeri

Her iki işlev, başarılıysa c karakterini döndürür.Bir hataysa _ungetchEOF değerini döndürür, _ungetwch deWEOF döndürür.

Notlar

Bu işlevler, c karakterini konsola geri iterek, c karakterinin, _getch veya _getche (veya_getwch veya_getwche) tarafından okunan sonraki karakter olmasına yol açar._ungetch ve _ungetwch sonraki okumadan önce bir defadan çok çağrılırlarsa başarısız olurlar.c bağımsız değişkeni EOF (veya WEOF) olamaz.

_nolock sonekine sahip sürümler, başka iş parçacıklarıyla engellemeden korunmamaları hariç aynıdır.Diğer iş parçacıklarının kilitleme yüküne tabi olmadıklarından daha hızlı olabilirler.Bu işlevleri yalnızca, tek iş parçacıklı uygulamalar gibi iş parçacığı bakımından güvenli bağlamlarda veya çağırma kapsamının iş parçacığı yalıtımını zaten işlediği yerlerde kullanın.

Genel Metin Yordam Eşleşmeleri

TCHAR.H yordamı

_UNICODE & _MBCS tanımlanmamış

_MBCS tanımlanmış

_UNICODE tanımlanmış

_ungettch

_ungetch

_ungetch

_ungetwch

_ungettch_nolock

_ungetch_nolock

_ungetch_nolock

_ungetwch_nolock

Gereksinimler

Yordam

Gerekli başlık

_ungetch, _ungetch_nolock

<conio.h>

_ungetwch, _ungetwch_nolock

<conio.h> veya <wchar.h>

Ek uyumluluk bilgileri için bkz. Uyumluluk.

Örnek

// 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 );
}
  

Ayrıca bkz.

Başvuru

Konsol ve Bağlantı Noktası G/Ç

_cscanf, _cscanf_l, _cwscanf, _cwscanf_l

_getch, _getwch