Compartir a través de


_scprintf, _scprintf_l, _scwprintf, _scwprintf_l

Devuelve el número de caracteres de la cadena con formato.

int _scprintf(
   const char *format [,
   argument] ... 
);
int _scprintf_l(
   const char *format,
   locale_t locale [,
   argument] ... 
);
int _scwprintf(
   const wchar_t *format [,
   argument] ... 
);
int _scwprintf_l(
   const wchar_t *format,
   locale_t locale [,
   argument] ... 
);

Parámetros

  • format
    Cadena de control de formato.

  • argument
    Argumentos opcionales.

  • locale
    Configuración regional que se va a usar.

Para obtener más información, vea Especificaciones de formato.

Valor devuelto

Devuelve el número de caracteres que se generará si se imprimiera o se enviara la cadena a un archivo o un búfer mediante los códigos de formato especificados. El valor devuelto no incluye el carácter null de terminación. _scwprintf realiza la misma función por caracteres anchos.

Si format es un puntero NULL, se invoca el controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, estas funciones devuelven -1 y establecen errno en EINVAL.

Para obtener información sobre estos y otros códigos de error, vea _doserrno, errno, _sys_errlist y _sys_nerr.

Comentarios

Cada argument (si existe) se convierte según la especificación correspondiente de formato en format. El formato consta de caracteres ordinarios y tiene el mismo formato y función que el argumento format para printf.

Las versiones de estas funciones con el sufijo _l son idénticas salvo que usan el parámetro locale pasado en lugar de la configuración regional del subproceso actual.

Nota de seguridadNota sobre la seguridad

Asegúrese de que format no es una cadena definida por el usuario.

Asignaciones de rutina de texto genérico

Rutina Tchar.h

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_sctprintf

_scprintf

_scprintf

_scwprintf

_sctprintf_l

_scprintf_l

_scprintf_l

_scwprintf_l

Requisitos

Rutina

Encabezado necesario

_scprintf, _scprintf_l

<stdio.h>

_scwprintf, _scwprintf_l

<stdio.h> o <wchar.h>

Para obtener más información de compatibilidad, vea Compatibilidad en la Introducción.

Ejemplo

// crt__scprintf.c

#define _USE_MATH_DEFINES

#include <stdio.h>
#include <math.h>
#include <malloc.h>

int main( void )
{
   int count;
   int size;
   char *s = NULL;

   count = _scprintf( "The value of Pi is calculated to be %f.\n",
                      M_PI);

   size = count + 1; // the string will need one more char for the null terminator
   s = malloc(sizeof(char) * size);
   sprintf_s(s, size, "The value of Pi is calculated to be %f.\n",
                      M_PI);
   printf("The length of the following string will be %i.\n", count);
   printf("%s", s);
   free( s );
}
  

Vea también

Referencia

E/S de secuencia

fprintf, _fprintf_l, fwprintf, _fwprintf_l

printf, _printf_l, wprintf, _wprintf_l

scanf, _scanf_l, wscanf, _wscanf_l

sscanf, _sscanf_l, swscanf, _swscanf_l

vprintf (Funciones)