Megosztás a következőn keresztül:


gets, _getws

Lekéri a vonalat a stdin streamből. A függvények biztonságosabb verziói érhetők el; lásd :gets_s_getws_s .

Fontos

Ezek a függvények elavultak. A Visual Studio 2015-től kezdődően nem érhetők el a CRT-ben. A függvények biztonságos verziói és gets_s_getws_stovábbra is elérhetők. Az alternatív függvényekkel kapcsolatos információkért lásd: gets_s. _getws_s

Fontos

Ez az API nem használható a Windows futtatókörnyezetben futó alkalmazásokban. További információ: A CRT-függvények nem támogatottak az univerzális Windows Platform-alkalmazásokban.

Szemantika

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

Paraméterek

buffer
A bemeneti sztring tárolási helye.

Visszaadott érték

Ha sikeres, az argumentumát adja vissza. A NULL mutató hibaüzenetet vagy fájlvégi feltételt jelez. Használja ferror vagy feof állapítsa meg, hogy melyik történt. Ha buffer igen NULL, ezek a függvények érvénytelen paraméterkezelőt hívnak meg a paraméterérvényesítésben leírtak szerint. Ha a végrehajtás folytatva van, ezek a függvények visszatérnekNULL, és a következőre vannak EINVALállítvaerrno: .

Megjegyzések

A gets függvény beolvassa a vonalat a standard bemeneti adatfolyamból stdin , és tárolja azt a következőben buffer: . A sor az összes karakterből áll, beleértve az első újsoros karaktert ('\n'). gets a sor visszaadása előtt cserélje le az új sor karakterét null karakterre ('\0'). Ezzel szemben a fgets függvény megtartja az új vonal karaktert. _getws a(z) ; argumentuma és visszatérési getsértéke széles karakterű sztring.

Fontos

Mivel nem lehet korlátozni a beolvasott getskarakterek számát, a nem megbízható bemenetek könnyen puffertúllépéseket okozhatnak. A fgets használható helyette.

A C++-ban ezek a függvények sablontúlterhelésekkel rendelkeznek, amelyek meghívják ezeknek a függvényeknek az újabb, biztonságos megfelelőit. További információ: A sablon túlterhelésének biztonságossá tételéről.

Alapértelmezés szerint ennek a függvénynek a globális állapota hatóköre az alkalmazásra terjed ki. A viselkedés módosításához tekintse meg a globális állapotot a CRT-ben.

Általános szöveges rutinleképezések

TCHAR. H rutin _UNICODE és _MBCS nincs definiálva _MBCS Meghatározott _UNICODE Meghatározott
_getts gets gets _getws

Requirements

Rutin Kötelező fejléc
gets <stdio.h>
_getws <stdio.h> vagy <wchar.h>

További kompatibilitási információkért lásd: Kompatibilitás.

Example

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

A 20 karakternél hosszabb bemenet túllépi a sorpuffert, és szinte biztosan a program összeomlását okozza.


Hello there!The line entered was: Hello there!

Lásd még

Stream I/O-
fgets, fgetws
fputs, fputws
puts, _putws