C ++ printf () - biblioteka standardowa C ++

Funkcja printf () w C ++ służy do zapisywania sformatowanego ciągu znaków na standardowe wyjście.

printf () prototyp

 int printf (format const char *,…);

printf()Funkcja zapisuje łańcuch wskazywany przez format na standardowe wyjście. Format ciągu może zawierać specyfikatory formatu zaczynające się od%, które są zastępowane wartościami zmiennych, które są przekazywane do printf()funkcji jako dodatkowe argumenty.

Jest zdefiniowany w pliku nagłówkowym.

printf () Parametry

  • format: wskaźnik do łańcucha zakończonego znakiem null, który jest zapisywany w strumieniu pliku. Składa się ze znaków wraz z opcjonalnymi specyfikatorami formatu zaczynającymi się od%.

    Specyfikatory formatu są zastępowane wartościami odpowiednich zmiennych występujących po ciągu formatu.

    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.

      Zatem ogólny format specyfikatora formatu to: %(flags)(width)(.precision)(length)specifier

  • …: Inne dodatkowe argumenty określające dane do wydrukowania. Występują w sekwencji zgodnie ze specyfikatorem formatu.

printf () Zwracana wartość

Jeśli się powiedzie, printf()funkcja zwraca liczbę zapisanych znaków. W przypadku niepowodzenia zwraca wartość ujemną.

Przykład 1: Jak działa funkcja printf ()

 #include int main() ( int x = 5; char my_name() = "Lincoln"; printf("x = %d ", x); printf("My name is %s ", my_name); return 0; )

Po uruchomieniu programu wynik będzie następujący:

 x = 5 Nazywam się Lincoln

Przykład 2: Więcej przykładów w printf ()

 #include int main() ( char ch = 'a'; float a = 5.0, b = 3.0; int x = 10; printf("%.3f / %.3f = %.3f ", a,b,a/b); printf("Setting width %*c ",5,ch); printf("Octal equivalent of %d is %o ",x,x); return 0; )

Po uruchomieniu programu wynik będzie następujący:

 5.000 / 3.000 = 1.667 Ustawienie szerokości a ósemkowy odpowiednik 10 to 12

Interesujące artykuły...