C ++ fwprintf () - C ++ standaardbibliotheek

De functie fwprintf () in C ++ wordt gebruikt om een ​​geformatteerde brede string naar een bestandsstroom te schrijven.

De functie fwprintf () is gedefinieerd in het header-bestand.

fwprintf () prototype

 int fwprintf (FILE * stream, const wchar_t * formaat, …);

De functie fwprintf () schrijft de brede tekenreeks waarnaar het formaat verwijst naar de bestandsstroom. Het brede tekenreeksformaat kan opmaakspecificaties bevatten die beginnen met% die worden vervangen door de waarden van variabelen die als aanvullende argumenten aan de functie fwprintf () worden doorgegeven.

fwprintf () Parameters

  • stream: Pointer naar een outputbestand-stream waar de inhoud naar wordt geschreven.
  • format: een pointer naar een met null beëindigde brede string die naar stdout is geschreven. Het bestaat uit brede tekens en optionele formaatspecificaties die beginnen met%. De formaatspecificaties worden vervangen door de waarden van de respectievelijke variabelen die het formaat volgen.
    De formaatspecificatie heeft de volgende onderdelen:
    • Een toonaangevend% -teken
    • Vlaggen: Optioneel een of meer vlaggen die het conversiegedrag wijzigen.
      • -: Links uitvullen van het resultaat binnen het veld. Standaard is het goed gerechtvaardigd.
      • +: Het teken van het resultaat wordt aan het begin van de waarde gehecht, zelfs voor positieve resultaten.
      • Spatie: als er geen teken is, wordt er een spatie aan het begin van het resultaat toegevoegd.
      • #: Er wordt een alternatieve vorm van conversie uitgevoerd.
      • 0: Het wordt gebruikt voor integer en drijvende-kommagetallen. Voorloopnullen worden gebruikt om de cijfers in plaats van de spatie te vullen.
    • Breedte: een optionele * of geheel getal die wordt gebruikt om een ​​veld met een minimale breedte op te geven.
    • Precisie: een optioneel veld bestaande uit een. gevolgd door * of geheel getal of niets om de precisie te specificeren.
    • Lengte: een optionele lengtemodificator die de grootte van het argument aangeeft.
    • Specifier: een specificatie van het conversieformaat. De beschikbare formaatspecificaties zijn als volgt:
    Formaatspecificaties
    Formaatspecificatie Omschrijving
    % Afdrukken%
    c Schrijft een enkel teken
    s Schrijft een tekenreeks
    d of i Converteert een geheel getal met teken naar een decimale weergave
    O Converteert een geheel getal zonder teken naar een octale weergave
    X of x Converteert een geheel getal zonder teken naar een hexadecimale weergave
    u Converteert een geheel getal zonder teken naar een decimale weergave
    F of f Converteert een getal met een drijvende komma naar de decimale weergave
    E of e Converteert een getal met een drijvende komma naar de decimale exponentnotatie
    A of een Converteert drijvende-kommagetal naar de hexadecimale exponent
    G of g Converteert drijvende-kommagetal naar decimale of decimale exponentnotatie
    n Retourneert het aantal tekens dat tot dusver door deze aanroep naar de functie is geschreven. Het resultaat wordt geschreven naar de waarde waarnaar het argument verwijst
    p Schrijft een door de implementatie gedefinieerde tekenreeks die een pointer definieert.
    Dus het algemene formaat van de formaatspecificatie is:
     % (vlaggen) (breedte) (. precisie) (lengte) specificatie
  • …: Andere aanvullende argumenten die de gegevens specificeren die moeten worden geschreven. Ze komen voor in een reeks volgens de formaatspecificatie.

fwprintf () Retourwaarde

  • Bij succes retourneert de functie fwprintf () het aantal geschreven tekens.
  • Bij een storing wordt een negatieve waarde geretourneerd.

Voorbeeld: hoe de functie fwprintf () werkt

 #include #include #include int main() ( wchar_t hebrew_str() = L"u05D0 u05D1 u05E1 u05D3 u05EA"; FILE *fp = fopen("example.txt","w"); setlocale(LC_ALL, "en_US.UTF-8"); fwprintf(fp, L"Here are some Hebrew letters: %ls", hebrew_str); fclose(fp); return 0; )

Wanneer u het programma uitvoert, wordt het volgende naar example.txt geschreven:

 Hier zijn enkele Hebreeuwse letters: א ב ס ד ת

Interessante artikelen...