Aracılığıyla paylaş


_sprintf_p, _sprintf_p_l, _swprintf_p, _swprintf_p_l

Biçimlendirilmiş veri biçim dizesi parametreleri kullanılır sırasını belirtme yeteneği ile bir dize yazın.

int _sprintf_p(
   char *buffer,
   size_t sizeOfBuffer,
   const char *format [,
   argument] ... 
);
int _sprintf_p_l(
   char *buffer,
   size_t sizeOfBuffer,
   const char *format,
   locale_t locale [,
   argument] ... 
);
int _swprintf_p(
   wchar_t *buffer,
   size_t sizeOfBuffer,
   const wchar_t *format [,
   argument]...
);
int _swprintf_p_l(
   wchar_t *buffer,
   size_t sizeOfBuffer,
   const wchar_t *format,
   locale_t locale [,
   argument] … 
);

Parametreler

  • buffer
    Çıktı için depolama konumu

  • sizeOfBuffer
    Saklamak için karakter sayısı üst sınırı.

  • format
    Denetim Biçimlendir dize

  • argument
    İsteğe bağlı bağımsız değişkenler

  • locale
    Kullanılacak yerel ayarı.

Daha fazla bilgi için bkz: Biçimi belirtimleri.

Dönüş Değeri

Yazılan karakterleri veya bir hata oluştuysa –1 sayısı.

Notlar

_sprintf_p İşlevi biçimlendirir ve bir dizi karakter ve değerleri saklayan buffer.Her argument (varsa) dönüştürülür ve ilgili biçim belirtimini uyarınca çıktı format.Biçim sıradan karakterlerden oluşur ve aynı form ve olarak işlev format bağımsız değişkeni printf_p.A NULL karakter yazılmış son karakterin arkasına eklenir.Kopyalama dizeler arasında çakışma oluşursa, tanımsız bir davranıştır.Arasındaki fark _sprintf_p ve sprintf_s olan _sprintf_p Biçim dizesinde bağımsız değişkenler kullanılır sırasını belirleme sağlar destekler Konumsal parametreler.Daha fazla bilgi için bkz. printf_p Konumsal Parametreler.

_swprintf_pgeniş karakter sürümü _sprintf_p; İşaretçi bağımsız _swprintf_p geniş karakter dizeleridir.Kodlama hatalarını algılama _swprintf_p görünenden farklı olabilir _sprintf_p._swprintf_pve fwprintf_p dışında aynı şekilde davranır _swprintf_p çıkış hedef türü yerine bir dize yazma FILE, ve _swprintf_p gerektiren counten fazla yazılacak karakter sayısını belirtmek için parametre.Bu işlevler ile sürümlerini _l soneki yerine geçerli iş parçacığı yerel geçirilen yerel parametresi kullandıkları dışında aynı.

_sprintf_pdepolanan bayt sayısını verir buffer, sonlandırma saymaz NULL karakter._swprintf_pdepolanan geniş karakter sayısını verir buffer, sonlandırma saymaz NULL geniş karakter.buffer Veya format bir null işaretçi veya biçim dizesi geçersiz biçimlendirme karakterlerini içeriyorsa, geçersiz parametre işleyicisi, açıklandığı şekilde çağrılır Parametre doğrulama.Yürütülmesine devam etmek için izin verilmişse, bu işlevler -1 geri dönün ve errno için EINVAL.

Genel metin yordamı eşlemeleri

TCHAR.H yordamına girildi

_UNICODE & _mbcs tanımlı değil

Tanımlanan _mbcs

Tanımlanan _UNICODE

_stprintf_p

_sprintf_p

_sprintf_p

_swprintf_p

_stprintf_p_l

_sprintf_p_l

_sprintf_p_l

_swprintf_p_l

Gereksinimler

Yordamı

Gerekli başlık

_sprintf_p, _sprintf_p_l

<stdio.h>

_swprintf_p, _swprintf_p_l

<stdio.h> veya <wchar.h>

Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.

Örnek

// crt_sprintf_p.c
// This program uses _sprintf_p to format various
// data and place them in the string named buffer.
//

#include <stdio.h>

int main( void )
{
    char     buffer[200],
            s[] = "computer", c = 'l';
    int      i = 35,
            j;
    float    fp = 1.7320534f;

    // Format and print various data: 
    j  = _sprintf_p( buffer, 200,
                     "   String:    %s\n", s );
    j += _sprintf_p( buffer + j, 200 - j, 
                     "   Character: %c\n", c );
    j += _sprintf_p( buffer + j, 200 - j, 
                     "   Integer:   %d\n", i );
    j += _sprintf_p( buffer + j, 200 - j, 
                     "   Real:      %f\n", fp );

    printf( "Output:\n%s\ncharacter count = %d\n", 
            buffer, j );
}
  
// crt_swprintf_p.c
// This is the wide character example which
// also demonstrates _swprintf_p returning
// error code.
#include <stdio.h>

#define BUFFER_SIZE 100

int main( void )
{
    wchar_t buffer[BUFFER_SIZE];
    int     len;

    len = _swprintf_p(buffer, BUFFER_SIZE, L"%2$s %1$d",
                      0, L" marbles in your head.");
    _printf_p( "Wrote %d characters\n", len );
    
    // _swprintf_p fails because string contains WEOF (\xffff)
    len = _swprintf_p(buffer, BUFFER_SIZE, L"%s", 
                      L"Hello\xffff world" );
    _printf_p( "Wrote %d characters\n", len );
}
  

.NET Framework Eşdeğeri

System::String::Format

Ayrıca bkz.

Başvuru

G/ç

_fprintf_p, _fprintf_p_l, _fwprintf_p, _fwprintf_p_l

fprintf, _fprintf_l, fwprintf, _fwprintf_l

_printf_p, _printf_p_l, _wprintf_p, _wprintf_p_l

printf, _printf_l, wprintf, _wprintf_l

scanf, _scanf_l, wscanf, _wscanf_l

sscanf, _sscanf_l, swscanf, _swscanf_l

sscanf_s, _sscanf_s_l, swscanf_s, _swscanf_s_l

vprintf işlevleri

printf_p Konumsal Parametreler