_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ń |
---|
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
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l
scanf, _scanf_l, wscanf, _wscanf_l