winuser.h


wvsprintf

La función wvsprintf da formato y almacena una serie de caracteres y valores en un búfer. Los ítems apuntados por la lista de argumentos se convierten y copian al búfer de salida de acuerdo al formato correspondiente especificado en la cadena de formato. La función añade el carácter terminador nulo final a los caracteres que escribe, pero el valor de retorno no lo incluye en el número de caracteres.

Sintaxis

int wsprintf(
    LPTSTR lpOut,    // puntero al búfer de salida
    LPCTSTR lpFmt,   // puntero a la cadena de control de formato
    va_list arglist  // lista variable de argumentos de control de formato de argumentos
   );

Parámetros

lpOut: apunta al búfer que recibe la salida formateada.

lpFmt: apunta a una cadena terminada en nulo que contiene las especificaciones de control de formato. Además de caracteres ASCII corrientes, aparecerá una espcificación de formato para cada argumento. Para más información sobre los especificadores de formato, ver la la función wsprintf.

arglist: una lista de argumentos; cada elemento de la lista especifica un argumento para la cadena de control de formato. El número y tipo de los parámetros dependerá de los especificadores de formato correspondientes en el parámetro lpFmt.

Valor de retorno

Si la función tiene éxito, el valor de retorno es el número de caracteres almacenados en el búfer de salida, sin contar el carácter nulo terminador.

Si la función falla, el valor de retorno es menor que la longitud de la cadena de control de formato. Para obtener más detalles sobre el error, llamar a GetLastError.

Observaciones

La función copia la cadena de control de formato en el búfer de salida carácter a carácter, empezando por el primer carácter de la cadena. Cuando encuentra una especificación de formato en la cadena, la función recupera el valor del siguiente argumento disponible (empezando con el primer argumento de la lista), lo convierte al formato especificado y copia el resultado al búfer de salida. La función continúa copiando caracteres y expandiendo especificaciones de formato de este modo hasta que encuentre el final de la cadena de control de formato. Si hay más argumentos que especificadores de formato, los argumentos extra son ignorados. Si no hay suficientes argumentos para todos los especificadores de formato, el resultado queda indefinido.