Aracılığıyla paylaş


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.

Önemli notÖnemli

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.

Güvenlik NotuGüvenlik Notu

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.

  

.NET Framework Eşdeğeri

System::Console::Read

Ayrıca bkz.

Başvuru

G/ç

fgets, fgetws

fputs, fputws

puts, _putws