Aracılığıyla paylaş


_ungetch, _ungetwch, _ungetch_nolock, _ungetwch_nolock

Konsoldan okunan son karakteri geri gönderir.

Önemli

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

Sözdizimi

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

Parametreler

c
Gönderilecek karakter.

Dönüş değeri

Her iki işlev de başarılı olursa karakteri c döndürür. Bir hata varsa değerini _ungetch döndürür EOF ve _ungetwch döndürür WEOF.

Açıklamalar

Bu işlevler karakteri c konsola geri gönderir ve bu da veya (veya) _getwch _getche _getwchetarafından _getch okunan bir sonraki karaktere neden olur.c _ungetch ve _ungetwch bir sonraki okumadan önce birden çok kez çağrılırsa başarısız olur. Bağımsız c değişken (veya WEOF) olmayabilir EOF .

Soneki olan _nolock sürümler, diğer iş parçacıkları tarafından müdahaleye karşı korunmamaları dışında aynıdır. Diğer iş parçacıklarını kilitleme yüküne neden olmadığından daha hızlı olabilirler. Bu işlevleri yalnızca tek iş parçacıklı uygulamalar gibi iş parçacığı güvenli bağlamlarda veya çağıran kapsamın iş parçacığı yalıtımını zaten işlediği durumlarda kullanın.

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Genel metin yordamı eşlemeleri

TCHAR.H yordamı _UNICODE ve _MBCS tanımlanmadı _MBCS tanımlanan _UNICODE tanımlanan
_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>

Daha fazla uyumluluk bilgisi 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 );
}

Whitetoken = White

Ayrıca bkz.

Konsol ve bağlantı noktası G/Ç
_cscanf, _cscanf_l, _cwscanf, _cwscanf_l
_getch, _getwch