C ++ Sprintf

C ++ Sprintf

W języku programowania C ++ natkniesz się na wiele konwersji i skopiuj dane z jednego pliku lub jednej zmiennej do drugiej, takich jak konwersja z INT na ciąg, tablicę znaków na ciąg itp. Podobny rodzaj konwersji zostanie omówiony tutaj, w którym postacie z strun formatowych są zapisywane do bufora. A wartości zostaną uzyskane za pomocą tej zmiennej bufora. Odbywa się to poprzez funkcję C ++ znaną jako Sprints ().

Składnia Sprintf ()

# int Sprintf (Char* Bufor, const char* zmienna);

Zmienna to wartość wejściowa, którą chcemy przechowywać w buforze. Funkcja SprintF, po wykonaniu, zwraca liczbę znaków obecnych w buforze. W przeciwnym razie zwracana jest wartość ujemna. Rozmiar bufora jest zadeklarowany w momencie inicjalizacji; Rozmiar powinien być wystarczająco duży, aby przechowywać w nim sznur.

Wdrożenie SprintF ()

Aby zrozumieć działanie SprintF, zobacz poniższe przykłady zawierające różne metody korzystania z tej funkcji w kodzie źródłowym C ++, aby kompilator mógł go wykonać w terminalu Ubuntu.

Przykład 1

Wdrożenie SprintF zawiera przykładowy przykład. Główna funkcja będzie zaangażowana w obliczenie wartości PI, wartości bezwzględnej w matematyce. W tym celu musimy użyć biblioteki matematycznej zawierającej wszystkie funkcje operacji matematycznych. Druga biblioteka to stdio.H, który jest również niezbędnym plikiem nagłówka, który jest wymagany do wykonania dowolnego programu C ++.

#włączać

Tablica znaków jest inicjowana ze stałym rozmiarem w programie głównym. Zmienna zostanie użyta w funkcji Sprint () jako parametr. Ponieważ Sprint jest używany do kopiowania lub zapisu sformatowanego ciągu do bufora ciągu znaków, wewnątrz funkcji, użyjemy tablicy obiektów zmiennej postaci i kalkulatora PI Mathematics.

# Sprint (str, „Wartość pi = %f”, m_pi);

To przyniesie wartość PI. Wartość bufora funkcji sprintu służy do wyświetlania wartości. Jak w tym przykładzie, używany jest STR.

Kod jest kompilowany i wykonywany przez kompilator C ++, który jest kompilatorem G ++. Ten kompilator używa pliku wejściowego, który ma zapisany kod źródłowy, plik wyjściowy, w którym chcemy wyświetlić wyniki za pomocą „-o” w poleceniu.

$ g ++ -o plik pliku.C
$ ./plik

Podczas wykonania zobaczysz, że wartość Pi jest wyświetlana przez funkcję Sprint.

Przykład 2

To jest kolejna instancja funkcji Sprintf (). Zmienna znakowa jest inicjowana w celu konwersji ciągu. Używana jest również inna zmienna typu liczb całkowitych, do której przypisana jest wartość liczb całkowita. Obie zmienne będą używane w parametrze funkcji Sprint. Funkcja SprintF wydrukuje moje zdanie wiekowe, a zmienna wiekowa zostanie przekonwertowana na zmienną buforową.

# Sprintf (bufor, „Mój wiek to %d”, wiek);

Aby wyświetlić przekonwertowaną wartość, wyświetlimy zawartość bufora za pomocą bufora.

Po wykonaniu pliku zobaczysz, że bufor wyświetli zainicjowaną wartość jako wartość liczb całkowitą.

Przykład 3

Sprawdzimy, czy wszystkie elementy powinny być obecne w buforze. W programie głównym tworzone są dwie zmienne różnych typów danych, jedna liczba całkowita i jedna znak, inicjowane według nazwy i wieku. Zmienna typu liczb całkowita jest tutaj używana do celów zliczania znaków. Tutaj napiszemy kombinację zmiennych do zmiennych buforowych i ciągów. Połączenie zostanie wykonane w taki sposób, że zdanie zostało zapisane w oświadczeniu Cout wraz ze zmiennymi „%s” i „%d”; Te dwa będą zawierać wartości zarówno liczb całkowitych, jak i postaci zainicjowanych wcześniej.

W ten sposób zarówno ciąg, jak i zmienne będą zapisywane zbiorowo do zmiennej bufora. Teraz funkcja liczby będzie używana z wywołaniem funkcji. Będzie przechowywać wartość, która zostanie zwrócona ze sprintu funkcji.

# Count = sprint (bufor, „Jestem %s i jestem %d o latach, nazwa, wiek);

Po funkcji wyświetlany jest bufor, aby pokazać wartość zapisaną w nim. Ponadto funkcja liczby zliczała całkowitą liczbę znaków, które zostaną utworzone, gdy ciągi i obie zmienne zostaną połączone. Teraz wykonamy powyższy kod źródłowy.

Zobaczysz, że funkcja Sprint wyświetliła wiadomość o nazwie i wieku osadzonym w zdaniu. Licznik wyświetlał również całkowitą liczbę znaków, w tym wszystkie znaki ciągów, zarówno zmienne, jak i przestrzeń między każdym słowem.

Przykład 4

Ten przykład działa na tym samym podejściu, jaki zastosowaliśmy do poprzedniego przykładu; Wszystkie ciągi w instrukcji i zmienne są łączone z napisem w zmiennej bufora. Utworzono tablicę bufora znaków, a rozmiar jest wymieniony tutaj. Dwie zmienne typu liczb całkowitych będą przechowywać wartości, a trzecia zmienna obliczy sumę wartości obecnych w dwóch zmiennych. Teraz osadzimy wszystkie zmienne w ciągu.

# Sprint (bufor, „suma %d i %d to %d”, a, b, c);

Funkcja Sprint wykorzysta trzy zmienne losowe do przypisania wartości. Jedną rzeczą, o której należy pamiętać, że kolejność zmiennych powinna być taka sama. Wartość sumy będzie przechowywana w zmiennej bufora zamiast drukowania przez stdout.

Wykonaj kod; Wartości są dołączone do ciągu przez Sprint.

Przykład 5

Przykład dotyczy zaangażowania użytkownika. Zamiast przyjmować zmienne jako wejście i instrukcję ciągów w momencie wykonywania sprintu, wzięliśmy ciąg jako wejście, a wartość pochodzi od użytkownika. Wprowadzono tutaj oryginalną tablicę znaków ciągu, która zawiera ciąg. Podczas gdy bufor jest również inicjowany z określonym rozmiarem, system poprosi użytkownika o wprowadzenie wartości w liczbie całkowitych; Ta wartość zostanie następnie wykorzystana do osadzenia się z przyjęty przez nas ciągiem.

Po wprowadzeniu wartości będzie to teraz używane w funkcji Sprint.

# Sprint (bufor, „%s_%d”, oryginał, n);

Zarówno oryginalne stwierdzenie, jak i wartość liczb całkowita zostaną połączone przez podkreślenie, zamiast mieć między nimi miejsce. Teraz wykonaj instrukcję, aby wyświetlić wyniki.

Po wprowadzeniu wartości przez użytkownika instrukcja zostanie wyświetlona jako kombinacja łańcucha i wartości całkowitej.

Wniosek

Metoda sprint () przechowuje sformatowany ciąg w buforze. Wszystkie wartości są zapisane w buforze osobno lub zbiorowo. Wszystkie te przypadki są wyjaśnione w tym artykule za pomocą podstawowych przykładów zaimplementowanych w C++. Weryfikację wartości buforu można uzyskać za pośrednictwem funkcji licznika, która zlicza znaki ciągu. Można to zastosować do każdego programu Sprint.