Funkcja fwprintf () w C ++ służy do zapisywania sformatowanego szerokiego ciągu znaków w strumieniu pliku.
Funkcja fwprintf () jest zdefiniowana w pliku nagłówkowym.
prototyp fwprintf ()
int fwprintf (PLIK * strumień, const wchar_t * format,…);
Funkcja fwprintf () zapisuje szeroki łańcuch wskazywany przez format do strumienia pliku. Format szerokiego ciągu może zawierać specyfikatory formatu zaczynające się od%, które są zastępowane przez wartości zmiennych, które są przekazywane do funkcji fwprintf () jako dodatkowe argumenty.
Parametry fwprintf ()
- stream: wskaźnik do strumienia pliku wyjściowego, w którym zapisywana jest zawartość.
- format: wskaźnik do szerokiego ciągu zakończonego znakiem null, który jest zapisywany na standardowe wyjście. Składa się z szerokich znaków wraz z opcjonalnymi specyfikatorami formatu zaczynającymi się od%. Specyfikatory formatu są zastępowane wartościami odpowiednich zmiennych następujących po formacie.
Specyfikator formatu składa się z następujących części:- Wiodący znak%
- Flagi: opcjonalnie jedna lub więcej flag, które modyfikują zachowanie konwersji.
- -: Wyrównaj wynik do lewej w polu. Domyślnie jest wyjustowany do prawej.
- +: Znak wyniku jest dołączany na początku wartości, nawet w przypadku wyników dodatnich.
- Spacja: jeśli nie ma znaku, na początku wyniku jest umieszczana spacja.
- #: Wykonywana jest alternatywna forma konwersji.
- 0: jest używany do liczb całkowitych i zmiennoprzecinkowych. Zera wiodące służą do wypełniania liczb zamiast spacji.
- Szerokość: opcjonalna * lub wartość całkowita używana do określenia pola o minimalnej szerokości.
- Precyzja: opcjonalne pole składające się z. po którym następuje * lub liczba całkowita lub nic, aby określić dokładność.
- Długość: opcjonalny modyfikator długości, który określa rozmiar argumentu.
- Specifier: specyfikator formatu konwersji. Dostępne specyfikatory formatu są następujące:
Specyfikator formatu Opis % Drukuje% do Zapisuje pojedynczy znak s Zapisuje ciąg znaków d lub i Konwertuje liczbę całkowitą ze znakiem na reprezentację dziesiętną o Konwertuje liczbę całkowitą bez znaku na reprezentację ósemkową X lub x Konwertuje liczbę całkowitą bez znaku na reprezentację szesnastkową u Konwertuje liczbę całkowitą bez znaku na reprezentację dziesiętną F lub f Konwertuje liczbę zmiennoprzecinkową na reprezentację dziesiętną E lub e Konwertuje liczbę zmiennoprzecinkową na dziesiętną notację wykładniczą A lub a Konwertuje liczbę zmiennoprzecinkową na wykładnik szesnastkowy G lub g Konwertuje liczbę zmiennoprzecinkową na dziesiętną lub dziesiętną notację wykładniczą n Zwraca liczbę znaków zapisanych do tej pory przez to wywołanie funkcji. Wynik jest zapisywany do wartości wskazywanej przez argument p Zapisuje sekwencję znaków zdefiniowaną w implementacji definiującą wskaźnik. % (flagi) (szerokość) (. precyzja) (długość)
- …: Inne dodatkowe argumenty określające dane do zapisania. Występują w sekwencji zgodnie ze specyfikatorem formatu.
fwprintf () Zwracana wartość
- Po pomyślnym zakończeniu funkcja fwprintf () zwraca liczbę zapisanych znaków.
- W przypadku niepowodzenia zwraca wartość ujemną.
Przykład: Jak działa funkcja fwprintf ()
#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; )
Po uruchomieniu programu w pliku example.txt zostanie zapisany:
Oto kilka hebrajskich liter: א ב ס ד ת