função StringCbVPrintf_lA (strsafe.h)

Grava dados formatados na cadeia de caracteres especificada usando um ponteiro para uma lista de argumentos. O tamanho do buffer de destino é fornecido à função para garantir que ele não escreva além do final desse buffer.

StringCbVPrintf_l é semelhante a StringCbVPrintf , mas inclui um parâmetro para informações de localidade.

Sintaxe

STRSAFEAPI StringCbVPrintf_lA(
  [out] STRSAFE_LPSTR                                  pszDest,
  [in]  size_t                                         cbDest,
  [in]  _Printf_format_string_params_(2)STRSAFE_LPCSTR pszFormat,
  [in]  _locale_t                                      locale,
  [in]  va_list                                        argList
);

Parâmetros

[out] pszDest

O buffer de destino, que recebe a cadeia de caracteres formatada e terminada em nulo criada a partir de pszFormat e argList.

[in] cbDest

O tamanho do buffer de destino, em bytes. Esse valor deve ser suficientemente grande para acomodar a cadeia de caracteres formatada final mais o caractere nulo de terminação. O número máximo de bytes permitidos é STRSAFE_MAX_CCH * sizeof(TCHAR).

[in] pszFormat

A cadeia de caracteres de formato. Essa cadeia de caracteres deve ser terminada em nulo. Para obter mais informações, consulte Sintaxe de especificação de formato.

[in] locale

O objeto local. Para obter mais informações, consulte _create_locale.

[in] argList

Os argumentos a serem inseridos na cadeia de caracteres pszFormat .

Retornar valor

Essa função pode retornar um dos valores a seguir. É altamente recomendável que você use as macros SUCCEEDED e FAILED para testar o valor retornado dessa função.

Código de retorno Descrição
S_OK
Havia espaço suficiente para que o resultado fosse copiado para pszDest sem truncamento e o buffer fosse encerrado em nulo.
STRSAFE_E_INVALID_PARAMETER
O valor em cbDest é 0 ou maior que STRSAFE_MAX_CCH * sizeof(TCHAR).
STRSAFE_E_INSUFFICIENT_BUFFER
Falha na operação de cópia devido a espaço em buffer insuficiente. O buffer de destino contém uma versão truncada e terminada em nulo do resultado pretendido. Em situações em que o truncamento é aceitável, isso pode não ser necessariamente visto como uma condição de falha.

Comentários

Para obter mais informações sobre va_lists, consulte as convenções definidas em Stdarg.h.

O comportamento será indefinido se as cadeias de caracteres apontadas por pszDest, pszFormat ou quaisquer cadeias de caracteres de argumento se sobrepõem.

Nem pszFormat nem pszDest devem ser NULL. Consulte StringCbVPrintf_lEx se você precisar lidar com valores de ponteiro de cadeia de caracteres nulas.

Para usar essa função, você deve definir a macro a seguir no arquivo de cabeçalho, antes de incluir StrSafe.h.

#define STRSAFE_LOCALE_FUNCTIONS

Observação

O cabeçalho strsafe.h define StringCbVPrintf_l como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho strsafe.h