Condividi tramite


gets_s, _getws_s

Ottenere un oggetto stdin dall'oggetto .Queste sono versioni di ottiene, _getws con i miglioramenti della sicurezza come descritto in Funzionalità di sicurezza in CRT.

char *gets_s( 
   char *buffer,
   size_t sizeInCharacters
);
wchar_t *_getws_s( 
   wchar_t *buffer,
   size_t sizeInCharacters
);
template <size_t size>
char *gets_s( 
   char (&buffer)[size]
); // C++ only
template <size_t size>
wchar_t *_getws_s( 
   wchar_t (&buffer)[size]
); // C++ only

Parametri

  • [out] buffer
    Percorso di archiviazione per la stringa di input.

  • [in] sizeInCharacters
    Dimensione del buffer.

Valore restituito

Se ha esito positivo restituisce buffer.Un puntatore a NULL indica un errore o una condizione di fine file.Utilizzare ferror o feof per determinare quale si è verificato.

Note

La funzione gets_s legge una riga dal flusso di input predefinito stdin e lo memorizzata in buffer.La riga è costituita da tutti i caratteri fino al primo carattere di nuova riga ('\n') incluso.gets_s quindi sostituisce il carattere di nuova riga con un carattere null ('\0') prima di restituirla.Al contrario, la funzione fgets_s mantiene il carattere di nuova riga.

Se il primo carattere lettura è il carattere di fine file, un carattere null viene archiviato nella parte superiore di buffer e NULL viene restituito.

_getws è una versione a caratteri di tipo "wide" di gets_s; il relativo argomento e valore restituito sono stringhe di caratteri di tipo "wide".

Se buffer è NULL o sizeInCharacters è minore o uguale a zero, o se il buffer è troppo piccolo per contenere la riga e il terminatore null di input, esse richiamano un gestore non valido di parametro, come descritto in Convalida dei parametri.Se l'esecuzione può continuare, queste funzioni restituiscono NULL e impostano errno a ERANGE.

In C++, l'utilizzo di queste funzioni è semplificato dagli overload dei modelli; gli overload possono dedurre la lunghezza del buffer automaticamente (che elimina la necessità di specificare un argomento di dimensione) e possono sostituire automaticamente le funzioni precedenti, quelle non sicure alle più recenti e le controparti sicure.Per ulteriori informazioni, vedere Assicurarsi che gli overload del modello.

Mapping di routine a Testo generico

TCHAR.H routine

_UNICODE & _MBCS non definiti

_MBCS definito

_UNICODE definito

_getts

gets_s

gets_s

_getws

Requisiti

Routine

Intestazione obbligatoria

gets_s

<stdio.h>

_getws

<stdio.h> o <wchar.h>

La console non è supportata nelle applicazioni di Windows Store.L'handle standard del flusso associate alla console, stdin, stdoute stderr, devono essere reindirizzati prima di funzioni di runtime del linguaggio C possono essere utilizzate nelle applicazioni di Windows Store.Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'introduzione.

Esempio

// crt_gets_s.c
// This program retrieves a string from the stdin and 
// prints the same string to the console.

#include <stdio.h>

int main( void )
{
   char line[21]; // room for 20 chars + '\0'
   gets_s( line, 20 );
   printf( "The line entered was: %s\n", line );
}
  

Equivalente .NET Framework

System::Console::Read

Vedere anche

Riferimenti

Flusso I/O

gets, _getws

fgets, fgetws

fputs, fputws

puts, _putws