_ungetch, _ungetwch, _ungetch_nolock, _ungetwch_nolock
Konsoldan okunan son karakteri geri iter.
Ö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/Ç