Funkcija vfwprintf () C ++ naudojama norint suformatuotą plačią eilutę įrašyti į failų srautą.
Funkcija vfwprintf () yra apibrėžta antraštės faile.
vfwprintf () prototipas
int vfwprintf (FILE * stream, const wchar_t * format, va_list vlist);
Funkcija „vfwprintf“ () į failų srauto srautą įrašo plačią eilutę, nurodytą formatu. Plataus eilutės formate gali būti formato specifikatoriai, prasidedantys%, kurie yra pakeisti kintamųjų, perduotų kaip sąrašo vlist, vertėmis.
vfwprintf () parametrai
- srautas: išvesties failų srautas, kad būtų parašytas rezultatas.
- formatas: nerodomos plačios eilutės, kuri parašyta srautui, žymeklis. Ją sudaro simboliai ir neprivalomi formato specifikatoriai, prasidedantys%. Formato specifikatoriai pakeičiami atitinkamų kintamųjų reikšmėmis, atitinkančiomis formatą.
Formato specifikatoriuje yra šios dalys:- Pirmaujantis% ženklas
- Žymos: pasirinktinai viena ar kelios žymos, modifikuojančios konversijos elgseną.
- -: kairė pateisina rezultatą lauke. Pagal nutylėjimą tai yra teisinga.
- +: Rezultato ženklas pridedamas prie vertės pradžios, net jei teigiami rezultatai.
- Erdvė: jei nėra ženklo, rezultato pradžioje pridedama tarpas.
- #: Atliekama alternatyvi konversijos forma.
- 0: Jis naudojamas sveikam skaičiui ir slankiojo kablelio skaičiui. Skaičių užpildymui vietoj tarpo naudojami priekiniai nuliai.
- Plotis: neprivaloma * arba sveiko skaičiaus vertė, naudojama nurodyti minimalaus pločio lauką.
- Tikslumas: neprivalomas laukas, kurį sudaro a. po kurio * arba sveikas skaičius arba nieko, kad būtų galima nurodyti tikslumą.
- Ilgis: pasirinktinis ilgio modifikatorius, nurodantis argumento dydį.
- Specifikatorius: konversijos formato specifikatorius. Galimi formatų parametrai yra šie:
Formato specifikatorius apibūdinimas % Spausdina% c Rašo vieną veikėją s Rašo simbolių eilutę d arba aš Konvertuoja pasirašytą sveikąjį skaičių į dešimtainį vaizdą o Konvertuoja nepasirašytą sveikąjį skaičių į aštuonetinį vaizdą X arba x Konvertuoja nepasirašytą sveikąjį skaičių į šešioliktainį vaizdą u Konvertuoja nepasirašytą sveikąjį skaičių į dešimtainį vaizdą F arba f Konvertuoja slankiojo kablelio skaičių dešimtainiu skaičiumi E arba e Konvertuoja slankiojo kablelio skaičių dešimtainio laipsnio rodikliu A arba a Konvertuoja slankiojo kablelio skaičių į šešioliktainį rodiklį G arba g Konvertuoja slankiojo kablelio skaičių dešimtainiu arba dešimtainiu laipsnių rodikliu n Grąžina iki šiol šiuo skambučiu parašytų simbolių skaičių funkcijai. Rezultatas įrašomas į argumento nurodytą vertę p Rašo įgyvendinimo apibrėžtą simbolių seką, apibrėžiančią žymeklį.
Taigi bendras formato specifikatoriaus formatas yra:% (vėliavos) (plotis) (. tikslumas) (ilgis) specifikatorius
- vlist: argumentų, kuriuose yra duomenys, kuriuos reikia parašyti, sąrašas.
vfwprintf () Grąžinimo vertė
- Jei pavyks, funkcija vfwprintf () grąžina parašytų plačių simbolių skaičių.
- Sugedus ji grąžina neigiamą vertę.
Pavyzdys: Kaip veikia funkcija vfwprintf ()?
#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; )
Paleidus programą, example.txt bus parašyta:
Keletas graikų raidžių Eta: η Theta: θ Iota: ι Kappa: κ Lamda: λ