Funksjonen vfwprintf () i C ++ brukes til å skrive en formatert bred streng til en filstrøm.
Funksjonen vfwprintf () er definert i topptekstfilen.
vfwprintf () prototype
int vfwprintf (FILE * stream, const wchar_t * format, va_list vlist);
Funksjonen vfwprintf () skriver den brede strengen som formatet peker på til filstrømmen. Bredstrengformatet kan inneholde formatspesifikatorer som begynner med%, som erstattes av verdiene til variabler som sendes som en liste-liste.
vfwprintf () Parametere
- stream: Output file stream for å skrive resultatet.
- format: En peker til en null avsluttet bred streng som er skrevet for å streame. Den består av tegn sammen med valgfrie formatspesifikatorer som begynner med%. Formatspesifikatorene erstattes av verdiene til respektive variabler som følger formatet.
Formatspesifikatoren har følgende deler:- Et ledende% tegn
- Flagg: Valgfritt ett eller flere flagg som endrer konverteringsadferden.
- -: Venstre rettferdiggjør resultatet innenfor feltet. Som standard er det rettferdiggjort.
- +: Tegn på resultatet er festet til begynnelsen av verdien, selv for positive resultater.
- Mellomrom: Hvis det ikke er noe tegn, er et mellomrom festet til begynnelsen av resultatet.
- #: En alternativ form for konvertering utføres.
- 0: Den brukes til heltall og flytende nummer. Ledende nuller brukes til å putte tallene i stedet for mellomrom.
- Bredde: En valgfri * eller heltallverdi som brukes til å spesifisere minimumsbreddefelt.
- Presisjon: Et valgfritt felt som består av en. etterfulgt av * eller heltall eller ingenting for å spesifisere presisjonen.
- Lengde: En valgfri lengdemodifikator som spesifiserer størrelsen på argumentet.
- Spesifikator: En konverteringsformatspesifikator. De tilgjengelige formatspesifikasjonene er som følger:
Format Spesifikator Beskrivelse % Skriver ut% c Skriver et enkelt tegn s Skriver en karakterstreng d eller i Konverterer et signert heltall til desimalrepresentasjon o Konverterer et usignert heltall til oktal representasjon X eller x Konverterer et usignert heltall til heksadesimal representasjon u Konverterer et usignert heltall til desimalrepresentasjon F eller f Konverterer flytende nummer til desimalrepresentasjonen E eller e Konverterer flytende nummer til desimaleksponentnotasjonen A eller a Konverterer flytende nummer til den heksadesimale eksponenten G eller g Konverterer flytende nummer til enten desimal- eller desimaleksponentnotasjon n Returnerer antall tegn som hittil er skrevet av denne samtalen til funksjonen. Resultatet skrives til den verdien argumentet peker på s Skriver en implementeringsdefinert tegnsekvens som definerer en peker.
Så det generelle formatet til formatspesifikatoren er:% (flagg) (bredde) (. presisjon) (lengde) spesifisering
- vlist: En liste med argumenter som inneholder dataene du skal skrive.
vfwprintf () Returverdi
- Hvis det lykkes, returnerer funksjonen vfwprintf () antall store tegn skrevet.
- Ved feil returnerer den en negativ verdi.
Eksempel: Hvordan funksjonen vfwprintf () fungerer?
#include #include #include void write(const wchar_t *fmt,… ) ( va_list args; va_start(args, fmt); vfwprintf(fmt, args); va_end(args); ) int main () ( wchar_t desc(5)(10) = (L"Eta",L"Theta",L"Iota",L"Kappa",L"Lamda"); int x = 0; setlocale(LC_ALL, "en_US.UTF-8"); wprintf(L"Some Greek Letters"); for (wchar_t i=L'u03b7'; i<=L'u03bb'; i++) ( write(L"%ls : %lc", desc(x), i); x++; ) return 0; )
Når du kjører programmet, blir følgende skrevet til example.txt:
Noen greske bokstaver Eta: η Theta: θ Iota: Kappa: κ Lamda: λ