gets, _getws
Bir satırı'ndan Al stdin akış.Bu işlevlerin daha güvenli sürümlerinde kullanılabilir; see gets_s, _getws_s.
![]() |
---|
Bu API, Windows çalışma zamanı yürütme uygulamalarda kullanılamaz.Daha fazla bilgi için bkz: /zw ile desteklenmeyen crt işlevlerinin. |
char *gets(
char *buffer
);
wchar_t *_getws(
wchar_t *buffer
);
template <size_t size>
char *gets(
char (&buffer)[size]
); // C++ only
template <size_t size>
wchar_t *_getws(
wchar_t (&buffer)[size]
); // C++ only
Parametreler
- buffer
Giriş dizesi için depolama konumu.
Dönüş Değeri
Başarılı olursa, bağımsız değişkenini verir.A NULL işaretçisi bir hata veya dosyanın son durumu gösterir.Kullanım ferror veya feof hangisini gerçekleştiğini belirlemek için.buffer Olan NULL, bir geçersiz parametre işleyicisi açıklandığı gibi bu işlevleri çağırma Parametre doğrulama.Yürütülmesine devam etmek için izin verilip verilmediğini, bu işlevler dönmek NULL ve errno EINVAL.
Notlar
gets İşlevi standart giriş akışından bir satır okuyan stdin ve bunun içinde saklar buffer.Satır için yukarı ve ilk yeni satır karakteri ('\n') dahil olmak üzere tüm karakterler oluşur.getssonra yeni satır karakteri satır dönmeden önce boş karakter ('\0') yerini alır.Buna karşılık, fgets işlevi yeni satır karakteri korur._getwsgeniş karakter sürümü gets; kendi bağımsız değişkeni ve dönüş değeri, geniş karakter dizeleridir.
![]() |
---|
Alır tarafından okunan karakter sayısını sınırlamak için bir yolu yoktur çünkü, güvenilmeyen bir giriş Arabellek taşmaları kolayca neden olabilir.Onun yerine fgets kullanın. |
Bu işlevleri C++'da, bu işlevlerin daha yeni ve güvenli karşılıkları çağırmak şablon aşırı yükleme vardır.Daha fazla bilgi için bkz. Güvenli şablon aşırı yükleme.
Genel metin eşlemeleri yordamına girildi
TCHAR.H yordamına girildi |
_UNICODE & _mbcs tanımlanmamış |
Tanımlanan _mbcs |
Tanımlanan _UNICODE |
---|---|---|---|
_getts |
gets |
gets |
_getws |
Gereksinimler
Yordamı |
Gerekli başlık |
---|---|
gets |
<stdio.h> |
_getws |
<stdio.h> veya <wchar.h> |
Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.
Örnek
// crt_gets.c
// compile with: /WX /W3
#include <stdio.h>
int main( void )
{
char line[21]; // room for 20 chars + '\0'
gets( line ); // C4996
// Danger: No way to limit input to 20 chars.
// Consider using gets_s instead.
printf( "The line entered was: %s\n", line );
}
20 Karakter satır arabellek taşması ve neredeyse kesinlikle programın çökmesine neden daha uzun bir giriş olduğunu unutmayın.