funzione StringCchPrintf_lExA (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.
StringCchPrintf_lEx è simile a StringCchPrintfEx , ma include un parametro per le informazioni sulle impostazioni locali.
Sintassi
STRSAFEAPI StringCchPrintf_lExA(
[out] STRSAFE_LPSTR pszDest,
[in] size_t cchDest,
[out] STRSAFE_LPSTR *ppszDestEnd,
[out, optional] size_t *pcchRemaining,
[in] DWORD dwFlags,
[in] _Printf_format_string_params_(2)STRSAFE_LPCSTR pszFormat,
[in] _locale_t locale,
...
);
Parametri
[out] pszDest
Buffer di destinazione, che riceve la stringa formattata con terminazione Null creata da pszFormat e i relativi argomenti.
[in] cchDest
Dimensioni del buffer di destinazione, in caratteri. Questo valore deve essere sufficientemente grande per contenere la stringa formattata finale più 1 per tenere conto del carattere Null di terminazione. Il numero massimo di caratteri consentiti è STRSAFE_MAX_CCH.
[out] ppszDestEnd
Indirizzo di un puntatore alla fine di pszDest. Se ppszDestEnd è diverso da NULL e tutti i dati vengono copiati nel buffer di destinazione, punta al carattere Null di terminazione alla fine della stringa.
[out, optional] pcchRemaining
Numero di caratteri inutilizzati in pszDest, incluso il carattere Null di terminazione. Se pcchRemaining è NULL, il conteggio non viene mantenuto o restituito.
[in] dwFlags
Uno o più dei valori seguenti.
[in] pszFormat
Stringa di formato. Questa stringa deve essere con terminazione 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 utilizzare le macro SUCCEEDED e FAILED per testare il valore restituito di questa funzione.
Codice restituito | Descrizione |
---|---|
|
Spazio sufficiente per il risultato da copiare in pszDest senza troncamento e il buffer è con terminazione Null. |
|
Il valore in cchDest è 0 o maggiore di STRSAFE_MAX_CCH oppure il buffer di destinazione è già pieno. |
|
L'operazione di copia non è riuscita a causa di spazio buffer insufficiente. A seconda del valore di dwFlags, il buffer di destinazione può contenere una versione troncata e con terminazione Null del risultato previsto. Nelle 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 a cui punta pszDest, pszFormat o qualsiasi stringa di argomento si sovrappone.
Né pszFormat né pszDest devono essere NULL a meno che non venga specificato il flag STRSAFE_IGNORE_NULLS , nel qual caso entrambi possono essere NULL. Tuttavia, è possibile che venga restituito un errore dovuto a spazio insufficiente anche se i valori NULL vengono ignorati.
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 StringCchPrintf_lEx come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
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 |