Udostępnij za pośrednictwem


_scprintf, _scprintf_l, _scwprintf, _scwprintf_l

Zwraca liczbę znaków w ciągu sformatowany.

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] ... 
);

Parametry

  • format
    Ciąg formatu formantu.

  • argument
    Opcjonalne argumenty.

  • locale
    Ustawienia regionalne, aby użyć.

Aby uzyskać więcej informacji, zobacz Specyfikacji formatu.

Wartość zwracana

Zwraca liczbę znaków, które byłyby wygenerowane, gdyby ciąg mają być drukowane lub wysyłane do pliku lub przy użyciu określonych kodów formatowania buforu.Wartość zwracana nie obejmuje kończącego znaku null._scwprintfpełni tę samą funkcję, dla szerokości znaków.

Jeśli format jest NULL obsługi nieprawidłowy parametr wskaźnika jest wywoływany, jak opisano w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, funkcje te zwracają wartość -1 i errno do EINVAL.

Aby uzyskać informacje na temat tych i innych kodów błędów, zobacz _doserrno, errno, _sys_errlist i _sys_nerr.

Uwagi

Każdy argument (jeśli ma zastosowanie) jest konwertowana zgodnie z odpowiednich specyfikacji formatu w format.Format składa się ze znaków zwykłych i ma ten sam formularz i działać jako format argument dla printf.

Wersje te funkcje, z _l sufiks są identyczne, z wyjątkiem, że używają oni przekazany zamiast bieżące ustawienia regionalne wątku parametr ustawień regionalnych.

Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

Zapewnić, że format nie jest ciągiem zdefiniowane przez użytkownika.

Tekst rodzajowy rutynowych mapowania

Procedura TCHAR.h

_UNICODE i _MBCS nie zdefiniowane

_MBCS, definicja

_UNICODE, definicja

_sctprintf

_scprintf

_scprintf

_scwprintf

_sctprintf_l

_scprintf_l

_scprintf_l

_scwprintf_l

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_scprintf, _scprintf_l

<stdio.h>

_scwprintf, _scwprintf_l

<stdio.h> lub <wchar.h>

Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.

Przykład

// 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 );
}
  
  

Zobacz też

Informacje

Strumień we/wy

fprintf, _fprintf_l, fwprintf, _fwprintf_l

printf, _printf_l, wprintf, _wprintf_l

scanf, _scanf_l, wscanf, _wscanf_l

sscanf, _sscanf_l, swscanf, _swscanf_l

Funkcje vprintf