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.