Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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!