C ++ swprintf () - C ++ standarta bibliotēka

Funkcija swprintf () C ++ tiek izmantota, lai rakstītu formatētu plašu virkni plaša virknes buferī.

Funkcija swprintf () ir definēta galvenes failā.

swprintf () prototips

 int swprintf (wchar_t * buferis, size_t izmērs, const wchar_t * formāts,…);

Funkcija swprintf () buferī raksta plašo virkni, uz kuru norāda formāts. Maksimālais rakstāmo rakstzīmju skaits ir (lielums-1).

Pēc rakstzīmju uzrakstīšanas tiek pievienots beigu nulle plats raksturs.

Plašā virknes formātā var būt formāta specifikatori, kas sākas ar% un tiek aizstāti ar mainīgo lielumiem, kas tiek nodoti funkcijai swprintf () kā papildu argumenti.

swprintf () parametri

  • buferis: rādītājs virknes buferim, lai uzrakstītu rezultātu.
  • izmērs: norādiet maksimālo rakstzīmju skaitu, kas jāraksta buferī, kas ir lielums-1.
  • formāts: rādītājs uz nulli izbeigtu plašu virkni, kas ir ierakstīta stdout. Tas sastāv no platām rakstzīmēm un izvēles formātu specifikatoriem, kas sākas ar%. Formātu specifikatori tiek aizstāti ar attiecīgo mainīgo lielumiem, kas seko formātam.
    Formāta norādītājam ir šādas daļas:
    • Vadošā% zīme
    • Karodziņi: pēc izvēles viens vai vairāki karodziņi, kas maina reklāmguvuma darbību.
      • -: kreisais pamato rezultātu laukā. Pēc noklusējuma tas ir pareizi pamatots.
      • +: Rezultāta zīme ir pievienota vērtības sākumam pat pozitīvu rezultātu iegūšanai.
      • Telpa: ja nav zīmes, rezultāta sākumam tiek pievienota atstarpe.
      • #: Tiek veikta alternatīva konversijas forma.
      • 0: to lieto vesels skaitlis un peldošā komata skaitlis. Ciparu ierakstīšanai, nevis atstarpei, tiek izmantotas nulles.
    • Platums: izvēles * vai vesela skaitļa vērtība, ko izmanto, lai norādītu minimālā platuma lauku.
    • Precizitāte: izvēles lauks, kas sastāv no: seko * vai vesels skaitlis vai nekas, lai precizētu precizitāti.
    • Garums: izvēles garuma modifikators, kas norāda argumenta lielumu.
    • Specifikators: reklāmguvumu formāta specifikators. Pieejamie formātu specifikatori ir šādi:
    Formātu specifikatori
    Formāta specifikators Apraksts
    % Izdrukas%
    c Raksta vienu rakstzīmi
    s Raksta rakstzīmju virkni
    d vai i Pārvērš parakstītu veselu skaitli decimāldaļā
    o Pārvērš neparakstītu veselu skaitli oktālā attēlojumā
    X vai x Pārvērš neparakstītu veselu skaitli heksadecimālā attēlojumā
    u Pārvērš neparakstītu veselu skaitli decimāldaļā
    F vai f Pārvērš peldošā komata skaitli decimāldaļā
    E vai e Pārvērš peldošā komata skaitli decimāldaļskaitļa eksponenta apzīmējumā
    A vai a Pārvērš peldošā komata skaitli par heksadecimālo eksponentu
    G vai g Pārvērš peldošā komata skaitli decimāldaļās vai decimāldaļās eksponentu apzīmējumos
    n Atgriež funkcijai līdz šim šim izsaukumam rakstīto rakstzīmju skaitu. Rezultāts tiek ierakstīts vērtībā, uz kuru norāda arguments
    lpp Raksta ieviešanā definētu rakstzīmju secību, kas nosaka rādītāju.

    Tātad formāta specifikatora vispārējais formāts ir:
     % (karodziņi) (platums) (. precizitāte) (garums) specifikators
  • …: Citi papildu argumenti, kas norāda ierakstāmos datus. Tie notiek secībā pēc formāta norādītāja.

swprintf () Atgriešanās vērtība

  • Pēc panākumiem funkcija swprintf () atgriež rakstīto rakstzīmju skaitu, izņemot beigu nulles platu rakstzīmi.
  • Ja radās kodēšanas kļūda vai ja ģenerējamo rakstzīmju skaits bija vienāds vai lielāks par lielumu, tiek atgriezta negatīva vērtība.

Piemērs: Kā darbojas funkcija swprintf ()?

 #include #include #include #include using namespace std; int main() ( wchar_t hebrew_str() = L"u05D0 u05D1 u05E1 u05D3 u05EA"; wchar_t buffer(100); setlocale(LC_ALL, "en_US.UTF-8"); swprintf(buffer, sizeof(hebrew_str), L"%ls", hebrew_str); wcout << L"Some hebrew letters" << buffer << endl; return 0; )

Palaidot programmu, uz example.txt tiks ierakstīts:

 Daži ebreju burti א ב ס ד ת

Interesanti raksti...