funzione StringCbPrintf_lA (strsafe.h)

Scrive i dati formattati nella stringa specificata. Le dimensioni del buffer di destinazione vengono fornite alla funzione per assicurarsi che non venga scritto oltre la fine del buffer.

StringCbPrintf_l è simile a StringCbPrintf , ma include un parametro per le informazioni sulle impostazioni locali.

Sintassi

STRSAFEAPI StringCbPrintf_lA(
  [out] STRSAFE_LPSTR                                  pszDest,
  [in]  size_t                                         cbDest,
  [in]  _Printf_format_string_params_(2)STRSAFE_LPCSTR pszFormat,
  [in]  _locale_t                                      locale,
        ...                                            
);

Parametri

[out] pszDest

Buffer di destinazione, che riceve la stringa formattata e con terminazione null creata da pszFormat e dai relativi argomenti.

[in] cbDest

Dimensioni del buffer di destinazione, in byte. Questo valore deve essere sufficientemente grande per contenere la stringa formattata finale e il carattere null terminante. Il numero massimo di byte consentiti è STRSAFE_MAX_CCH * sizeof(TCHAR).

[in] pszFormat

Stringa di formato. Questa stringa deve essere terminata con null. Per altre informazioni, vedere Sintassi della specifica del formato.

[in] locale

Oggetto delle impostazioni locali. Per altre informazioni, vedere _create_locale.

...

Argomenti da inserire nella stringa pszFormat .

Valore restituito

Questa funzione può restituire uno dei valori seguenti. È consigliabile usare le macro SUCCESSED e FAILED per testare il valore restituito di questa funzione.

Codice restituito Descrizione
S_OK
C'era spazio sufficiente per il risultato da copiare in pszDest senza troncamento e il buffer è null-terminato.
STRSAFE_E_INVALID_PARAMETER
Il valore in cbDest è 0 o maggiore di STRSAFE_MAX_CCH * sizeof(TCHAR).
STRSAFE_E_INSUFFICIENT_BUFFER
L'operazione di copia non è riuscita a causa di spazio buffer insufficiente. Il buffer di destinazione contiene una versione troncata e terminata null del risultato previsto. In situazioni in cui il troncamento è accettabile, questo potrebbe non essere necessariamente considerato come una condizione di errore.

Commenti

Il comportamento non è definito se le stringhe puntate da pszDest, pszFormat o qualsiasi stringa di argomento si sovrappone.

pszFormat né pszDest devono essere NULL. Vedere StringCbPrintf_lEx se è necessaria la gestione dei valori del puntatore di stringa Null.

Per usare questa funzione, è necessario definire la macro seguente nel file di intestazione, prima di includere StrSafe.h.

#define STRSAFE_LOCALE_FUNCTIONS

Nota

L'intestazione strsafe.h definisce StringCbPrintf_l come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione strsafe.h