printf, _printf_l, wprintf, _wprintf_l
Standart çıkış akışı biçimlendirilmiş çıktıyı yazdır. Bu işlevlerin daha güvenli sürümlerinde kullanılabilir; see printf_s, _printf_s_l, wprintf_s, _wprintf_s_l.
int printf(
const char *format [,
argument]...
);
int _printf_l(
const char *format,
locale_t locale [,
argument]...
);
int wprintf(
const wchar_t *format [,
argument]...
);
int _wprintf_l(
const wchar_t *format,
locale_t locale [,
argument]...
);
Parametreler
format
Biçim denetimi.argument
İsteğe bağlı bağımsız değişkenler.locale
Kullanılacak yerel ayarı.
Dönüş Değeri
Bir hata oluşursa, yazdırılan karakter veya negatif bir değer verir. format Olan NULL, açıklandığı gibi geçersiz bir parametre işleyici çağrılır Parametre doğrulama. Devam etmek için işlev verir -1 ve kümelerini yürütme izni varsa errno için EINVAL. EOF (0XFFFF) içinde karşılaşılan argument, işlev-1 değerini döndürür.
Hakkında bilgi için errno ve hata kodlarý _doserrno, hatano, _sys_errlist ve _sys_nerr.
Notlar
printf İşlevi biçimlendirir ve bir dizi karakter ve değer standart çıkış akış için baskı stdout. Bağımsız değişkenler izlerseniz, format dizesi, format dize bağımsız değişkenler için çıktı biçimini belirleyen özellikleri içermesi gerekir. printfve fprintf dışında aynı şekilde davranır printf çıktısına yazar stdout yerine bir hedef türü FILE.
wprintfgeniş karakter sürümü printf; formatbir geniş karakter dizesidir. wprintfve printf akış ANSI modunda açılırsa aynı şekilde davranır. printfşu anda çıktı UNICODE akımına desteklemez.
Bu işlevleri sürümlerini _l sonek dışında geçerli iş parçacığı yerel geçirilen yerel ayar parametresi kullandıkları aynı.
Genel metin eşlemeleri yordamına girildi
TCHAR.H yordamına girildi |
_UNICODE & _mbcs tanımlanmamış |
Tanımlanan _mbcs |
tanımlanan _UNICODE |
---|---|---|---|
_tprintf |
printf |
printf |
wprintf |
format Bağımsız değişkeni oluşur sıradan karakterler çıkış sıralarını ve (bağımsız izlerseniz, format) biçimlendirir. Sıradan karakterler ve çıkış sıralarını kopyalanır stdout , görünümlerini sırasına göre. Örneğin, satır:
printf("Line one\n\t\tLine two\n");
bir çıktı üretir:
Line one
Line two
Biçimlendirir her zaman yüzde işaretiyle başlar (%) ve soldan sağa okuyun. Zaman printf karşılaştığı ilk biçim belirtimini (varsa), sonra ilk bağımsız değişkenin değeri dönüştürür format ve buna bağlı olarak verir. İkinci biçim belirtimi dönüştürülür ve çıktı, ikinci bağımsız değişken olur ve böyle devam eder. Biçim belirtimleri sayısından daha fazla bağımsız değişken varsa, ek bağımsız değişkenler göz ardı edilir. Biçim belirtimleri için yeterli bağımsız değişken ise sonuçlar tanımsızdır.
Güvenlik Notu |
---|
Emin format kullanıcı tanımlı bir dize değil. |
Genel metin eşlemeleri yordamına girildi
Tchar.h yordamına girildi |
_UNICODE ve _mbcs tanımlanmamış |
Tanımlanan _mbcs |
Tanımlanan _UNICODE |
---|---|---|---|
_tprintf |
printf |
printf |
wprintf |
_tprintf_l |
_printf_l |
_printf_l |
_wprintf_l |
Gereksinimler
Yordamı |
Gerekli başlık |
---|---|
printf, _printf_l |
<stdio.h> |
wprintf, _wprintf_l |
<stdio.h> veya <wchar.h> |
Konsol desteklenen değil Windows Mağazası apps. Konsolu ile ilgili standart akış tanıtıcıları stdin, stdout, ve stderr, c çalışma zamanı işlevlerini de kullanılmadan önce yönlendirilecek Windows Mağazası apps. Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.
Örnek
// crt_printf.c
// This program uses the printf and wprintf functions
// to produce formatted output.
#include <stdio.h>
int main( void )
{
char ch = 'h',
*string = "computer";
wchar_t wch = L'w',
*wstring = L"Unicode";
int count = -9234;
double fp = 251.7366;
// Display integers
printf( "Integer formats:\n"
" Decimal: %d Justified: %.6d "
"Unsigned: %u\n",
count, count, count, count );
// Display decimals
printf( "Decimal %d as:\n Hex: %Xh "
"C hex: 0x%x Octal: %o\n",
count, count, count, count );
// Display in different radixes
printf( "Digits 10 equal:\n Hex: %i "
"Octal: %i Decimal: %i\n",
0x10, 010, 10 );
// Display characters
printf("Characters in field (1):\n"
"%10c%5hc%5C%5lc\n",
ch, ch, wch, wch);
wprintf(L"Characters in field (2):\n"
L"%10C%5hc%5c%5lc\n",
ch, ch, wch, wch);
// Display strings
printf("Strings in field (1):\n%25s\n"
"%25.4hs\n %S%25.3ls\n",
string, string, wstring, wstring);
wprintf(L"Strings in field (2):\n%25S\n"
L"%25.4hs\n %s%25.3ls\n",
string, string, wstring, wstring);
// Display real numbers
printf("Real numbers:\n %f %.2f %e %E\n",
fp, fp, fp, fp );
// Display pointer
printf( "\nAddress as: %p\n", &count);
}
Örnek Çıktı
Integer formats:
Decimal: -9234 Justified: -009234 Unsigned: 4294958062
Decimal -9234 as:
Hex: FFFFDBEEh C hex: 0xffffdbee Octal: 37777755756
Digits 10 equal:
Hex: 16 Octal: 8 Decimal: 10
Characters in field (1):
h h w w
Characters in field (2):
h h w w
Strings in field (1):
computer
comp
Unicode Uni
Strings in field (2):
computer
comp
Unicode Uni
Real numbers:
251.736600 251.74 2.517366e+002 2.517366E+002
Address as: 0012FF3C
.NET Framework Eşdeğeri
Ayrıca bkz.
Başvuru
_fprintf_p, _fprintf_p_l, _fwprintf_p, _fwprintf_p_l
scanf, _scanf_l, wscanf, _wscanf_l