Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Formázott adatok nyomtatása streambe. A függvények biztonságosabb verziói érhetők el; lásd fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l.
For _ftprintf and _ftprintf_l, see Generic-text function mappings.
Szemantika
int fprintf(
FILE *stream,
const char *format [,
argument ]...
);
int _fprintf_l(
FILE *stream,
const char *format,
_locale_t locale [,
argument ]...
);
int fwprintf(
FILE *stream,
const wchar_t *format [,
argument ]...
);
int _fwprintf_l(
FILE *stream,
const wchar_t *format,
_locale_t locale [,
argument ]...
);
Paraméterek
stream
Mutató a struktúrához FILE .
format
Formátumvezérlő sztring.
argument
Nem kötelező argumentumok.
locale
A használni kívánt területi beállítás.
Visszaadott érték
fprintf Az írott bájtok számát adja vissza.
fwprintf Az írott széles karakterek számát adja vissza. A függvények mindegyike negatív értéket ad vissza kimeneti hiba esetén.
format Ha stream igenNULL, ezek a függvények meghívják az érvénytelen paraméterkezelőt a paraméterérvényesítésben leírtak szerint. Ha a végrehajtás folytatódhat, a függvények visszaadják a -1 és a következőre állítják beerrno: EINVAL . A formázási sztring nincs bejelölve az érvényes formázási karaktereknél, ahogy az a használatban fprintf_s vagy fwprintf_sa .
A visszatérési kódokkal kapcsolatos további információkért lásd errno: , _doserrno, _sys_errlist, és _sys_nerr.
Megjegyzések
fprintf formátumokat és karaktereket és értékeket nyomtat ki a kimenetre stream. Az egyes függvények argument (ha vannak ilyenek) konvertálása és kimenete a megfelelő formátumspecifikációnak megfelelően történik a következőben format: .
format Az fprintfargumentum szintaxisa megegyezik az argumentum szintaxisávalprintf.
fwprintfa(z) ; in fwprintf, format egy széles fprintfkarakterű sztring. Ezek a függvények ugyanúgy viselkednek, ha a stream ANSI módban van megnyitva.
fprintf jelenleg nem támogatja a UNICODE-streamek kimenetét.
Ezeknek a függvényeknek az utótaggal ellátott _l verziói azonosak, azzal a különbséggel, hogy az aktuális szál területi beállítása helyett a területi paramétert használják.
Fontos
Győződjön meg arról, hogy format ez nem felhasználó által definiált sztring.
A Windows 10 2004-es verziójától kezdve (19041-es build) a printf függvénycsalád pontosan ábrázolható lebegőpontos számokat nyomtat az IEEE 754 kerekítési szabályainak megfelelően. A Windows korábbi verzióiban az "5" végződésű lebegőpontos számok mindig felfelé kerekülnek. Az IEEE 754 szerint a legközelebbi páros számjegyre kell kerekíteniük (más néven "Banker kerekítése"). Például mindkettőt printf("%1.0f", 1.5) , és printf("%1.0f", 2.5) 2-re kell kerekítenie. Korábban az 1,5 2-et, a 2,5-öt pedig 3-ra kerekítené. Ez a változás csak a pontosan ábrázolható számokat érinti. Például a 2.35 (amely a memóriában ábrázolva közelebb van a 2.35000000000008-hoz) továbbra is 2,4-re kerekít. A függvények által végzett kerekítés mostantól a lebegőpontos kerekítési fesetroundmódot is figyelembe követi. Korábban a kerekítés mindig a viselkedést választotta FE_TONEAREST . Ez a módosítás csak a Visual Studio 2019 16.2-es és újabb verziójával készült programokat érinti. Az örökölt lebegőpontos kerekítési viselkedés használatához csatolja a legacy_stdio_float_rounding.obj.
Általános szövegfüggvény-leképezések
Az oszlopban lévő tchar.h függvény a fordításkor definiált karakterkészlettől függően a többi oszlopban lévő függvényhez lesz megfeleltetve.
tchar.h függvény |
_UNICODE és _MBCS nincs definiálva |
_MBCS definiálva |
_UNICODE definiálva |
|---|---|---|---|
_ftprintf |
fprintf |
fprintf |
fwprintf |
_ftprintf_l |
_fprintf_l |
_fprintf_l |
_fwprintf_l |
További információ: Formátumspecifikáció szintaxisa.
Követelmények
| Funkció | Kötelező fejléc |
|---|---|
fprintf, _fprintf_l |
<stdio.h> |
fwprintf, _fwprintf_l |
<stdio.h> vagy <wchar.h> |
További kompatibilitási információkért lásd: Kompatibilitás.
példa
// crt_fprintf.c
/* This program uses fprintf to format various
* data and print it to the file named FPRINTF.OUT. It
* then displays FPRINTF.OUT on the screen using the system
* function to invoke the operating-system TYPE command.
*/
#include <stdio.h>
#include <process.h>
FILE *stream;
int main( void )
{
int i = 10;
double fp = 1.5;
char s[] = "this is a string";
char c = '\n';
fopen_s( &stream, "fprintf.out", "w" );
fprintf( stream, "%s%c", s, c );
fprintf( stream, "%d\n", i );
fprintf( stream, "%f\n", fp );
fclose( stream );
system( "type fprintf.out" );
}
this is a string
10
1.500000
Lásd még
Stream I/O-
_cprintf, _cprintf_l, _cwprintf_cwprintf_l
fscanf, _fscanf_l, fwscanf_fwscanf_l
sprintf, _sprintf_l, swprintf, _swprintf_l_swprintf_l
Formátumspecifikáció szintaxisa: printf és függvények wprintf